日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

余額寶轉(zhuǎn)出到銀行卡要手續(xù)費嗎 yuebao


余額寶轉(zhuǎn)出到銀行卡要手續(xù)費嗎 yuebao


if…else控制語句 , 如果代碼里濫用會大大降低代碼的可讀性、可維護性、可擴展性以及靈活性 , 進而使整個軟件系統(tǒng)造成危害 。因為在實際的項目中 , 需求往往是不斷變化的 , 新需求也層出不窮 , 因此違反了違反單一職責(zé)原則和開閉原則 , 而且有些公司的代碼審查會通不過 。
所以 , if else的替代方案是很有必要的 , 如位語句 , 枚舉 , 工廠模式 , 策略模式 , 狀態(tài)模式等等 。這里用一個場景詳細(xì)說明if else的替代方案 , 大家用支付寶付款的時候 , 會有多種付款方式 , 如余額 , 花唄 , 余額寶 , 信用卡 , 銀行卡 。
01. 傳統(tǒng)的方式
public class PayDemo {public String pay(String payType) {String pay = \”\”;if (\”1\”.equals(payType)) {pay = \”支付寶余額支付\”;} else if (\”2\”.equals(payType)) {pay = \”支付寶余額寶支付\”;} else if (\”3\”.equals(payType)) {pay = \”支付寶花唄支付\”;} else {pay = \”其他支付\”;}//…System.out.println(pay);return pay;}}public class PayTest {public static void main(String[] args) {PayDemo payDemo = new PayDemo;payDemo.pay(\”1\”);payDemo.pay(\”2\”);payDemo.pay(\”3\”);payDemo.pay(\”4\”);}}
【余額寶轉(zhuǎn)出到銀行卡要手續(xù)費嗎 yuebao】枚舉第一種
(1)面向接口編程 , 首先定義一個支付接口
public interface PayEnum {String pay;}
(2)定義一個具體的支付寶余額實現(xiàn)
public class PayEnumByBalance implements PayEnum{@Overridepublic String pay {System.out.println(\”支付寶余額支付\”);return \”支付寶余額支付\”;}}
(3)定義一個具體的支付寶花唄實現(xiàn)
public class PayEnumByHuabei implements PayEnum {@Overridepublic String pay {System.out.println(\”支付寶花唄支付\”);return \”支付寶花唄支付\”;}}
(4)定義一個具體的支付寶余額寶實現(xiàn)
public class PayEnumByYuEBAO implements PayEnum {@Overridepublic String pay {System.out.println(\”支付寶余額寶支付\”);return \”支付寶余額寶支付\”;}}
(5)定義一個枚舉類
public enum PayTypeEnum {PAY_BALANCE(\”1\”,new PayEnumByBalance),PAY_HUABEI(\”2\”,new PayEnumByHuabei),PAY_YUEBAO(\”3\”,new PayEnumByYuEBAO);private String payType;private PayEnum payEnum;PayTypeEnum(String payType, PayEnum payEnum) {this.payType = payType;this.payEnum = payEnum;}public static PayEnum getPay(String payType){for (PayTypeEnum payTypeEnum : PayTypeEnum.values) {if (payTypeEnum.payType.equals(payType)) {return payTypeEnum.payEnum;}}return new PayEnumByBalance;}}
(6)客戶端
public class PayEnumTest {public static voidmain(String[] args) {PayEnum payEnum = PayTypeEnum.getPay(\”1\”);payEnum.pay;PayEnum payEnum1 = PayTypeEnum.getPay(\”2\”);payEnum1.pay;PayEnum payEnum2 = PayTypeEnum.getPay(\”3\”);payEnum2.pay;}}
(7)結(jié)果:
(8)總結(jié):完全消除了if else
枚舉第二種
(1) 面向接口編程 , 首先定義一個支付接口
public interface PayEnum1 {String pay;}
(2)定義一個枚舉類 , 并且實現(xiàn)支付接口
public enum PayTypeEnum1 implements PayEnum1{PAY_TYPE_BALANCE{@Overridepublic String pay {System.out.println(\”支付寶余額支付\”);return \”支付寶余額支付\”;}},PAY_TYPE_HUABEI{@Overridepublic String pay {System.out.println(\”支付寶花唄支付\”);return \”支付寶花唄支付\”;}},PAY_TYPE_YUEBAO{@Overridepublic String pay {System.out.println(\”支付寶余額寶支付\”);return \”支付寶余額寶支付\”;}};}

推薦閱讀