1.多型
對於同乙個物件,身份不同時,呼叫同乙個方法會呈現出不同的狀態。
* 前提是:當父類和子類出現了完全一模一樣的方法。允許的
* 當父類和子類出現相同方法,父類會隱藏子類的方法呼叫。也就是說
* 當我們建立了老虎物件,但是將其看成是動物時。這個時候如果呼叫
* eat方法,呼叫不是老虎類中的eat,而是動物類中的eat方法。這就是
* 隱藏。
如果是有意隱藏,請使用關鍵字 new。
* 一旦在子類方法中加入了new關鍵字,那麼呼叫物件的這個方法時,
總結:只看當前身份,不看真實身份。
2.重寫
一旦物件建立出來之後。呼叫方法
重寫:和隱藏不同的是,一旦物件建立出來之後,呼叫方法
只看真實身份,不看當前身份。
寫法:父類方法必須用virtual關鍵字修飾,表示此方法可以被子類
重寫。如果子類要重寫父類的相同方法,必須使用override關鍵字
只看真實身份,不看當前身份。
必須要有繼承關係。
如果父類允許子類重寫自己的方法,就必須在此方法前加//virtual關鍵字
//如果子類重寫了父類的virtual方法,就必須在方法
//前加上override關鍵字
//如果乙個類重寫了父類的方法,也表名自己定義的這個方法
//可以被自己的子類所重寫
3.抽象類
annotation:在物件導向程式設計中,我們會設計一些模板類,讓其他來繼承。
//1、在抽象類中可以有抽象方法,用abstract關鍵字修飾的方法
//2、在抽象類中可以有普通方法
//3、和普通類不同的是,抽象類不可以例項化
//抽象方法只有方法的簽名,沒有定義(沒有實現過程)
//抽象方法的實現由子類完成
//只要父類的方法被virtual,override或abstract關鍵字修飾,那麼子類就可以重寫這些方法
多型 抽象方法 抽象類
類的多型主要指方法重寫 abstract關鍵字修飾的類 方法 就是抽象類 方法 方法重寫的要求 子類中重寫的方法要與父類中的方法同名 子類中重寫的方法形參個數要與父類中同名方法的形參個數一致 子類中重寫的方法型別要與父類中同名方法的型別一致 靜態 成員方法 子類中重寫的方法的訪問許可權不能低於父類中...
抽象類和多型
抽象類是乙個特殊的類,它的特殊之處在於只能被繼承,不能被例項化 從實現角度來看,抽象類與普通類的不同之處在於 抽象類中只能有抽象方法 沒有實現功能 該類不能被例項化,只能被繼承,且子類必須實現抽象方法。這一點與介面有點類似,但其實是不同的。匯入abc模組實現抽象類 import abc 定義抽象類,...
多型,抽象方法,抽象類,介面
向上轉型 使用父類型別的變數接收子類型別的物件 多型使用的方法和屬性都是子類和父類共有的內容,物件能夠呼叫的屬性和方法全部 於子類中的內容。子類獨有的方法和屬性是不能使用的 向下轉型 如果向上轉型後,需要呼叫子類獨有的方法和屬性時,就需要向下轉型,必須是先有向上轉型,才會有向下轉型。一般用insta...