• 第一章 (2)工厂模式


    工厂模式的优势:能承受更多的扩展,只要是类似的功能就可以进行扩。即添加具体类,并在工厂中添加调用新加的类的条件即可

    1.首先建立抽象类,建立各个具体功能类,建立生成工厂,文件结构图如下。

    2.各个文件代码

    2.1 Operation代码(抽象类)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Calculate.Calculate
    {
        class Operation
        {
            private double _numberA = 0d;
            private double _numberB = 0d;
            private double _result = 0d;
    
            
    
            public double NumberA
            {
                get { return _numberA; }
                set { _numberA = value; }
            }
            public double NumberB
            {
                get { return _numberB; }
                set { _numberB = value; }
            }
            public double Result
            {
                get { return _result; }
                set { _result = value; }
            }
    
            public virtual double getResult()
            {
                double result = 0d;
                return result;
            }
    
    
        }
    }

    2.2 OperationAdd代码(加法类)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Calculate.Calculate
    {
        class OperationAdd:Operation
        {
            public override double getResult()
            {
                Result = NumberA + NumberB;
                return Result;
            }
        }
    }

    2.3 OperationSub代码(减法类)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Calculate.Calculate
    {
        class OperationSub : Operation
        {
            public override double getResult()
            {
                Result = NumberA - NumberB;
                return Result;
            }
        }
    }

    2.4 OperationMul代码(乘法类)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Calculate.Calculate
    {
        class OperationMul : Operation
        {
            public override double getResult()
            {
                Result = NumberA * NumberB;
                return Result;
            }
        }
    }

    2.4 OperationDiv代码(除法类)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Calculate.Calculate
    {
        class OperationDiv : Operation
        {
            public override double getResult()
            {
                if (NumberB!=0)
                {
    
                    Result = NumberA / NumberB;
                }
                else
                {
                    Result = -1;
                }
                return Result;
            }
        }
    }
  • 相关阅读:
    MySQL 函数
    ARC072_F Dam
    1373D
    科目二和科目三找准30厘米位置的点位
    MySQL 数字保留两位小数
    IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
    MySQL SQL语句书写顺序和执行顺序
    科目三道路驾驶技能考试之百米加减挡操作
    上海科目三道路驾驶技能考试夜间灯光模拟操作
    上海 科目三大路考试攻略
  • 原文地址:https://www.cnblogs.com/hbhzz/p/3385906.html
Copyright © 2020-2023  润新知