zoukankan      html  css  js  c++  java
  • 设计模式 抽象工厂

    今天看了第一个Abstract Factory, 自己尝试写了一个Demo, 不知道理解得正确否, 请指教! 谢谢
    抽象铸币厂(生产money)
    public abstract class MoneyMaker
    {
        
    public abstract Ten MakeTen();
        
    public abstract Hundred MakeHundred();
    }
    中国的铸币厂(能生产RMB)
    public class ChinaMoneyMaker : MoneyMaker
    {
        
    public override Ten MakeTen()
        
    {
            
    return new RMBTen();
        }

            
        
    public override Hundred MakeHundred()
        
    {
            
    return new RMBHundred();
        }

    }
    美国的铸币厂(能生产美元)
    public class UsMoneyMaker : MoneyMaker
    {
        
    public override Ten MakeTen()
        
    {
            
    return new DollarTen();
        }

        
        
    public override Hundred MakeHundred()
        
    {
            
    return new DollarHundred();
        }

    }
    十元的货币(抽象基类,有支付的功能)
    public abstract class Ten
    {
        
    public abstract void Pay();
    }
    百元的货币
    public abstract class Hundred
    {
        
    public abstract void Pay();
    }
    人民币的十元
    public class RMBTen : Ten
    {
        
    public override void Pay()
        
    {
            Console.WriteLine(
    "10 RMB have been pay.");
        }

    }
    人民币的百元, 美元的十元, 美元的百元 (略...)
    测试程序
    public class App
    {
        
    public static void Main()
        
    {
            MoneyMaker mm 
    = new ChinaMoneyMaker();
            Ten t 
    = mm.MakeTen();
            t.Pay();
            Hundred h 
    = mm.MakeHundred();
            h.Pay();
            mm 
    = new UsMoneyMaker();
            t 
    = mm.MakeTen();
            t.Pay();
            h 
    = mm.MakeHundred();
            h.Pay();
            Console.ReadLine();
        }

    }

    源程序下载 AbstractFactory Demo

  • 相关阅读:
    hibernate>悲观锁和乐观锁 小强斋
    hibernate>查询语言hql 小强斋
    hibernate>查询语言hql 小强斋
    hibernate>Collection映射 小强斋
    【java&&jni】jni入门篇
    【C++ Primer】第十三章 类继承
    【android&&jni&&NDk】详细介绍每一步,让你轻松掌握android JNI NDk
    【android】错误集锦及解决办法
    【Android】入门级连接网络示例: 网页浏览和播放网络MP3
    【python】入门第一篇
  • 原文地址:https://www.cnblogs.com/Dabay/p/361660.html
Copyright © 2011-2022 走看看