JAVA简单工厂实现简单计算器,C#基于简单工厂模式实现的计算器功能示例

本文展示了如何使用C#的简单工厂模式来创建一个计算器应用,包括加法和减法功能。通过创建抽象类`Calculator`及两个子类`jiafaDll`和`jianfaDll`,实现了计算功能的抽象和具体实现。用户输入操作符后,程序会根据操作符动态创建相应的计算器实例进行计算。
摘要由CSDN通过智能技术生成

本文实例讲述了C#基于简单工厂模式实现的计算器功能。分享给大家供大家参考,具体如下:

子类拥有父类除私有之外的所有属性字段和方法

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace 工厂方法实现计算器

{

///

/// 计算器类(抽象类,由子类重写)

///

public abstract class Calculator

{

public double Number1 { get; set; }

public double Number2 { get; set; }

public Calculator() { }

public Calculator(double a, double b)

{

this.Number1=a;

this.Number2=b;

}

///

/// 计算

///

///

public abstract double jsuan();

}

///

/// 加法类

///

public class jiafaDll:Calculator //子类拥有父类除私有之外的所有属性字段和方法

{

public jiafaDll() { }

public jiafaDll(double a, double b)

: base(a, b) //调用父类带两个参数的构造函数,来初始化Number1 和Number2 (注意:因为jianfaDll类继承了Calculator,所以jianfaDll类是有Number1,和Number2两个属性的)

{ }

///

/// 重写父类的jsuan方法

///

///

public override double jsuan()

{

return Number1 + Number2;

}

}

///

/// 减法类

///

public class jianfaDll : Calculator

{

public jianfaDll()

{ }

public jianfaDll(double a, double b)

: base(a, b)

{ }

public override double jsuan()

{

return Number1 - Number2;

}

}

class Program

{

static void Main(string[] args)

{

Console.WriteLine("请输入第一个数");

double number1 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("请输入一个操作符");

string caozuofu = Console.ReadLine();

Console.WriteLine("请输入第二个数");

double number2 = Convert.ToDouble(Console.ReadLine());

Calculator c=null;

switch (caozuofu)

{

case "+":

c = new jiafaDll(number1, number2);

break;

case "-":

c = new jianfaDll(number1, number2);

break;

}

double i= c.jsuan();

Console.WriteLine(i);

Console.ReadKey();

}

}

}

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

希望本文所述对大家C#程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值