1.什么是設計模式
* 解析:針對特定問題而提出特定的解決方案
簡單工廠不算23種設計模式中的一種,--只是一個抽象工廠
2.什么簡單工廠呢?
01.簡單工廠的概念
一個普通的類,在該類定義一個方法;該方法是用靜態(static)修飾,返回值為父類的類型,通常方法會帶一個參數。
02.代碼舉例
public class PizzaFactory
{
//定義一個 static 並且返回值類型是 父類類型的方法 攜帶一個參數
public static Pizza getInstance(string type)
{
//01.定義一個父類類型的容器 ,用於保存對應的子類對象
Pizza pizza=null;
switch (type)
{
case "奶酪比薩":
pizza = new CheesePizza();
break;
case "培根比薩":
pizza = new PGPizza();
break;
}
return pizza;
}
}
03.父類與子類的代碼
--父類
public abstract class Pizza //abstract關鍵字來修飾即為抽象類
{
public abstract string Info();//抽象方法--留給子類來重寫
}
--子類
public class PGPizza:Pizza //繼承
{
public override string Info() //重寫了方法
{
return "您好,培根披薩訂購完成!";
}
--另一個子類
public class CheesePizza:Pizza
{
public override string Info()
{
return "您好,奶酪比薩成功訂購";
}
3.單例
01.簡單描述
跟簡單工廠相似,只不過是單例只能想內存索要一塊空間,相當於只能new一次。
在一個普通類中,先給該類定義一個靜態(static)的變量,然后將該類的無參構造的修飾符共有的(public)改為私有的(private),
再定義一個靜態(static)的方法,返回值類型為該類,最后判斷該類是否有new過,即向內存索要空間,如果沒有就new,否則就return
會該類的變量即可。
02.代碼如下所示
public class Person
{
public static Person p; //靜態變量
private Person() //私有的構造函數
{
}
public static Person getInstance() //靜態方法 返回值類型Person
{
if (p==null) //判斷
{
p=new Person(); //索要空間
}
return p; //返回該類的變量
}
}
如果覺得有什么不足之處,請各位能夠留下您的觀點,希望我們都能夠學到知識、、、
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。