C#基于簡(jiǎn)單工廠模式實(shí)現(xiàn)的計(jì)算器功能示例
本文實(shí)例講述了C#基于簡(jiǎn)單工廠模式實(shí)現(xiàn)的計(jì)算器功能。分享給大家供大家參考,具體如下:
子類擁有父類除私有之外的所有屬性字段和方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 工廠方法實(shí)現(xiàn)計(jì)算器
{
/// <summary>
/// 計(jì)算器類(抽象類,由子類重寫)
/// </summary>
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;
}
/// <summary>
/// 計(jì)算
/// </summary>
/// <returns></returns>
public abstract double jsuan();
}
/// <summary>
/// 加法類
/// </summary>
public class jiafaDll:Calculator //子類擁有父類除私有之外的所有屬性字段和方法
{
public jiafaDll() { }
public jiafaDll(double a, double b)
: base(a, b) //調(diào)用父類帶兩個(gè)參數(shù)的構(gòu)造函數(shù),來初始化Number1 和Number2 (注意:因?yàn)閖ianfaDll類繼承了Calculator,所以jianfaDll類是有Number1,和Number2兩個(gè)屬性的)
{ }
/// <summary>
/// 重寫父類的jsuan方法
/// </summary>
/// <returns></returns>
public override double jsuan()
{
return Number1 + Number2;
}
}
/// <summary>
/// 減法類
/// </summary>
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("請(qǐng)輸入第一個(gè)數(shù)");
double number1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請(qǐng)輸入一個(gè)操作符");
string caozuofu = Console.ReadLine();
Console.WriteLine("請(qǐng)輸入第二個(gè)數(shù)");
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:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:
在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#數(shù)學(xué)運(yùn)算技巧總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#實(shí)現(xiàn)關(guān)閉子窗口而不釋放子窗口對(duì)象的方法
下面小編就為大家?guī)硪黄狢#實(shí)現(xiàn)關(guān)閉子窗口而不釋放子窗口對(duì)象的方法 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Unity中的PostProcessBuild實(shí)用案例深入解析
這篇文章主要為大家介紹了Unity中的PostProcessBuild實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
C#實(shí)現(xiàn)類似jQuery的方法連綴功能
這篇文章主要介紹了C#實(shí)現(xiàn)類似jQuery的方法連綴功能,可以簡(jiǎn)化語句,使代碼變得清晰簡(jiǎn)單,感興趣的小伙伴們可以參考一下2015-11-11
WPF實(shí)現(xiàn)頁(yè)面的切換的示例代碼
本文主要介紹了WPF實(shí)現(xiàn)頁(yè)面的切換的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
c# List find()方法返回值的問題說明(返回結(jié)果為對(duì)象的指針)
本篇文章主要介紹了c#中List find()方法返回值的問題說明(返回結(jié)果為對(duì)象的指針) 需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
在C#中使用OpenCV(使用OpenCVSharp)的實(shí)現(xiàn)
這篇文章主要介紹了在C#中使用OpenCV(使用OpenCVSharp)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法
這篇文章主要介紹了使用c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法,大家參考使用吧2014-01-01

