更改代碼只需要更改需要改動的部分叫做可維護,代碼可以重複利用利用叫做可復用,若更新的代碼只需要加入新的代碼即可叫做可擴展,代碼可以更改位置不影響效果叫做靈活性好
對象是一個自包含的實體,用一組可別的特性和行為來標記
類就是具有相同的屬性和功能的對象的抽象集合
實例就是一個真是的對象,而實例化就是創建對象的過程,使用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;
}
}
}
簡單工廠模式就是工廠實例化合適的對象,通過多態,返回父類的方式實現了計算器的效果