深刻理解多態

1、里氏替換原則:
1.子類對象能夠賦給父類變量,也能夠說子類能夠替換父類而且出如今父類可以出現的任何地方,且程序的行爲不會發生變化,可是反過來,父類對象不能替換子類對象的,。這種特性被稱做「里氏替換原則」。
eg:People p = new Student(); //能夠
Student s = new People(); //不能夠
2、is和as的用法:
1.is是用來判斷類型的(檢查對象和指定的類型是否兼容)
2.as是用來轉換類型的(主要用在兩個對象之間)
3、父類類型做爲參數:
1.里氏替換原則指出子類對象能夠替換父類對象,那麼在開發程序時,能夠編寫以父類類型做爲形式參數的方法,在實際調用時傳入子類對象,從而實現多態。
2.eg:
父類
public class TrafficTool{
public virtual void Run(){
Console.WriteLine(「車在行駛」);
}
}
//子類
public class Bus:TrafficTool{
public override void Run(){
Console.WriteLine(「公共汽車在行駛」);
}
}
//測試類
public class Test{
public static void main(String []args){
Student stu = new Student(1,「張三」);
stu.GoHome(new Bus());//傳遞實際建立的子類對象
}安全

}

4、抽象類和抽象方法:
1.抽象類:
語法:public abstract class 類名{}
2.含有抽象方法的類必然是抽象類,可是抽象類裏面的方法不必定都是抽象方法
3.抽象類不能實例化
4.抽象方法:沒有方法體,語法是:訪問修飾符 abstract 返回值類型 方法名();
5、面向對象的三大特徵:
1.封裝:保證對象自身數據的完整性和安全性
2.繼承:創建類之間的關係,實現代碼複用,方便系統的擴展
3.多態:相同的方法調用可實現不一樣的實現方式。markdown

相關文章
相關標籤/搜索