這篇文章給大家介紹怎么在C#中利用簡單工廠模式實現一個計算器功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯公司專注于企業成都營銷網站建設、網站重做改版、棗莊網站定制設計、自適應品牌網站建設、html5、成都做商城網站、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為棗莊等各大城市提供網站開發制作服務。
子類擁有父類除私有之外的所有屬性字段和方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 工廠方法實現計算器
{
/// <summary>
/// 計算器類(抽象類,由子類重寫)
/// </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>
/// 計算
/// </summary>
/// <returns></returns>
public abstract double jsuan();
}
/// <summary>
/// 加法類
/// </summary>
public class jiafaDll:Calculator //子類擁有父類除私有之外的所有屬性字段和方法
{
public jiafaDll() { }
public jiafaDll(double a, double b)
: base(a, b) //調用父類帶兩個參數的構造函數,來初始化Number1 和Number2 (注意:因為jianfaDll類繼承了Calculator,所以jianfaDll類是有Number1,和Number2兩個屬性的)
{ }
/// <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("請輸入第一個數");
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();
}
}
}關于怎么在C#中利用簡單工廠模式實現一個計算器功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享名稱:怎么在C#中利用簡單工廠模式實現一個計算器功能
文章路徑:http://www.js-pz168.com/article12/gppogc.html
成都網站建設公司_創新互聯,為您提供域名注冊、網站收錄、外貿網站建設、標簽優化、企業網站制作、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯