简单工厂模式
来源:互联网 发布:林原惠美 知乎 编辑:程序博客网 时间:2024/06/07 23:20
简单工厂模式
面向对象编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类
简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端选择的条件动态的实例化相关的类,对于客户端来说,去除了与具体产品的依赖
利用简单工厂模式编写具有加减乘除运算功能的小程序
public class Operation //Operation运算类 { //添加两个属性 private double _numberA = 0; private double _numberB = 0; //封装两个属性 public double NumberA { get { return _numberA; } set { _numberA = value; } } public double NumberB { get { return _numberB; } set { _numberB = value; } } //添加可重写的获得结果的方法,返回结果的值 public virtual double GetResult() { double result = 0; return result; }} class OperationAdd : Operation//加法运算类 { public override double GetResult() { double result = 0; result = NumberA + NumberB; return result; } } class OperationSub : Operation//减法运算类 { public override double GetResult() { double result = 0; result = NumberA ‐ NumberB; return result; } } class OperationMul : Operation//乘法运算类 { public override double GetResult() { double result = 0; result = NumberA* NumberB; return result; } } class OperationDiv : Operation//除法运算类 { public override double GetResult() { double result = 0; result = NumberA* NumberB; return result; } } public class OperationFactory//简单运算工厂类 { public static Operation createOperate(string operate) { Operation oper = null; switch (operate) { case "+": oper = new OperationAdd(); break; case "‐": oper = new OperationSub(); break; case "*": oper = new OperationMul(); break; case "/": oper = new OperationDiv(); break; } return oper; }} class Program//客户端代码 { static void Main(string[] args) { Operation oper; oper = OperationFactory.createOperate("+"); oper.NumberA = 56; oper.NumberB = 55; double result = oper.GetResult(); Console.WriteLine(result); Console.ReadKey(); } } }
阅读全文
1 0
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- Spark---Shuffle调优之调节map端内存缓冲与reduce端内存占比
- 数组的维数
- 1117:整除的尾数
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Android Studio插件开发1之插件介绍与环境搭建
- 简单工厂模式
- FZU 1704 高斯消元
- Billboard
- 好的开始意味成功的一半?!
- cocos2dx跨平台游戏PoetryInGame
- FreeRTOS 基础简介
- Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)
- Python复制的问题——浅拷贝和深拷贝
- Python 基于Tkinter的GUI图形界面学习