亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

工廠模式。何時使用工廠方法?

工廠模式。何時使用工廠方法?

茅侃侃 2019-08-23 14:47:11
工廠模式。何時使用工廠方法?什么時候在對象中使用工廠方法而不是Factory類是個好主意?
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

任何將對象創建推遲到其需要使用的對象的子類的類都可以看作是Factory模式的一個示例。


查看完整回答
反對 回復 2019-08-23
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

如果你想在使用方面創建一個不同的對象。它是有益的。

public class factoryMethodPattern {
      static String planName = "COMMERCIALPLAN";
      static int units = 3;
      public static void main(String args[]) {
          GetPlanFactory planFactory = new GetPlanFactory();
          Plan p = planFactory.getPlan(planName);
          System.out.print("Bill amount for " + planName + " of  " + units
                        + " units is: ");
          p.getRate();
          p.calculateBill(units);
      }}abstract class Plan {
      protected double rate;
      abstract void getRate();
      public void calculateBill(int units) {
            System.out.println(units * rate);
      }}class DomesticPlan extends Plan {
      // @override
      public void getRate() {
            rate = 3.50;
      }}class CommercialPlan extends Plan {
      // @override
      public void getRate() {
            rate = 7.50;
      }}class InstitutionalPlan extends Plan {
      // @override
      public void getRate() {
            rate = 5.50;
      }}class GetPlanFactory {
      // use getPlan method to get object of type Plan
      public Plan getPlan(String planType) {
            if (planType == null) {
                  return null;
            }
            if (planType.equalsIgnoreCase("DOMESTICPLAN")) {
                  return new DomesticPlan();
            } else if (planType.equalsIgnoreCase("COMMERCIALPLAN")) {
                  return new CommercialPlan();
            } else if (planType.equalsIgnoreCase("INSTITUTIONALPLAN")) {
                  return new InstitutionalPlan();
            }
            return null;
      }}


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 1044 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號