簡單工廠模式+編程基礎

  • 2021 年 3 月 28 日
  • 筆記

更改代碼只需要更改需要改動的部分叫做可維護,代碼可以重複利用利用叫做可復用,若更新的代碼只需要加入新的代碼即可叫做可擴展,代碼可以更改位置不影響效果叫做靈活性好

對象是一個自包含的實體,用一組可別的特性和行為來標記

類就是具有相同的屬性和功能的對象的抽象集合

實例就是一個真是的對象,而實例化就是創建對象的過程,使用new來創建

構建方法又叫做構建函數,其實就是對類進行初始化的過程。構造方法和類同名,無返回值,也不需要void在new的時候調用

所有類都有構造方法,如果你不編碼則系統默認生成空的構造方法,若你有定義的構造方法,那麼默認的構造方法就會失效。

方法重載就提供了創建同名的多個方法,但這些方法需要使用不同的參數類型。

屬性是一個方法式,一對方法,但在調用它的代碼看來需要不同的參數類型。既屬性適合於以字段的方法使用方法調用的場合。字段是存儲類型要滿足其設計所需要的數據,子u但與類相關的關聯。

多態表示不同的對象可以執行相同的動作,但要通過他們自己的實現代碼來執行。為了使子類的實例完全接替來自父類成員,父類必須將該成員聲明為虛擬的(virtual)子類寫為override重寫父類方法。

接口(interface)是把隱式公共方法和屬性組合起來,以封裝特定功能的一個集合。一旦類實現了接口,類就可以支持接口所指定的所有屬性和成員。

抽象和接口都只能被繼承,不能被實例化。

簡單工廠方法:

定義一個基類 Operation:public class Operation

{

private double _numberA=0;

private double _numberB=0;

public double NumberA

{

get{return _numberA;}

set{_numberA=value;}

}

 

public double NumberB

 

{

 

get{return _numberB;}

 

set{_numberB=value;}

 

}

public virtual double GetResult()

{

double result=0;

return result;

}

 

}

定義加減乘除類繼承Operation

class OperationAdd:Operation

{

public overrite double GetResult()

{

double result=0;

result=NumberA+NumberB;

return result;

} }

 

class OperationSub:Operation

 

{

 

 

public overrite double GetResult()

 

{

 

double result=0;

 

result=NumberA-NumberB;

 

return result;

 

} }

 

class OperationMul:Operation

 

{

 

 

public overrite double GetResult()

 

{

 

double result=0;

 

result=NumberA*NumberB;

 

return result;

 

} }

 

class OperationDiv:Operation

 

{

 

 

public overrite double GetResult()

 

{

 

double result=0;

if(NumberB==0)

         throw new Exection(“除數不能為0:”)

 

result=NumberA/NumberB;

 

return result;

 

} }

 

 

 

簡單運算工廠類:

public class OperationFactory

{

public static Operation createOperate(string operate)

{

Operation oper=null;

switch(operat)

{

case “+”:

          oper=new OperationAdd();

           break;

 

case “-“:

 

          oper=new OperationSub();

           break;

case “*”:

          oper=new OperationMul();

           break;

 

case “/”:

 

          oper=new OperationDiv();

           break;

}

}

}

簡單工廠模式就是工廠實例化合適的對象,通過多態,返回父類的方式實現了計算器的效果