static void Main(string[] args)
{
//用抽象類實(shí)現(xiàn)一個(gè)簡單的工廠設(shè)計(jì)模式
//根據(jù)用戶的輸入,去判斷生產(chǎn)哪種品牌的筆記本
Console.WriteLine("請輸入你想要生產(chǎn)的筆記本品牌");
string brand = Console.ReadLine();
//將輸入的值代入靜態(tài)方法判斷要生產(chǎn)哪種筆記本,然后賦值給父類
NoteBook nb = GetNoteBook(brand);
//根據(jù)輸入判斷的結(jié)果,調(diào)用哪個(gè)類的方法,輸出生產(chǎn)筆記本打招呼結(jié)果
nb.SayHello();
Console.ReadKey();
}
//簡單工廠最核心部分,根據(jù)用戶輸入,創(chuàng)建對(duì)象賦值給父類
public static NoteBook GetNoteBook(string brand)
{
NoteBook nb= null;
switch (brand)
{
case "Lenovo":nb = new Lenovo();
break;
case "ACER":nb = new Acer();
break;
case "Dell":nb = new Dell();
break;
case "ASUS":nb = new ASUS();
break;
}
return nb;
}
//因?yàn)橐婚_始我們并不知道用戶想生產(chǎn)什么樣的筆記本,所以我們用抽象類去實(shí)現(xiàn)
//注意:父類方法有意義,虛方法.
//當(dāng)父類中的方法不知道如何去實(shí)現(xiàn)的時(shí)候,可以考慮將父類寫成抽象類,將方法寫成抽象方法.
public abstract class NoteBook
{
public abstract void SayHello();
}
public class Lenovo : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是聯(lián)想筆記本");
}
}
public class Acer : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是宏基筆記本");
}
}
public class Dell : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是Dell筆記本");
}
}
public class ASUS : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是華碩筆記本");
}
}
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。