1.1、繼承概念
繼承就是子承父,描述兩個類之間的關係
1.2、繼承的語法
class a:父類類名
1.3、繼承的訪問修飾符
public、private、protected
在子類中用來呼叫父類的成員
1、每乙個子類的建構函式一定會呼叫父類的建構函式
2、預設情況下:呼叫的是父類的無參建構函式
3、也可以顯示的呼叫:關鍵字:base
1、父類又稱為基類:被繼承的類
2、子類又稱為派生類:繼承的類
3、一旦產生繼承關係,子類可以使用父類一切非private成員
5.1、傳遞性
如果class a:b ,class b:c ,那麼a也可以訪問c的成員
5.2、單根性
每個類只能有乙個父類
is a :判斷資料型別
語法:引用名[物件名] is 資料型別
1、使子類只關注子類的相關行為和狀態,無需關注父類的行為和狀態。
2、實現了**的重用。
8.1黎克特制替換原則(lsp):
1、概念:所有引用父類的地方都可以透明的使用子類物件
一種事物的多種形態
同乙個方法名,在不同的情況下會產生不同的結果,會有不同的概念
3.1、過載
3.1.1過載的特點
1、在同乙個類中
2、有相同的方法名
3、引數不同
3.2、重寫
3.2.1、重寫的前提
必須是繼承關係,也必須是多個類。
3.2.2、重寫的特點
1、在不同類中
2、有相同的方法名
3、引數必須相同
3.2.3、重寫的實現方式
1、虛方法
1.1、特點:
1、在不同類中
2、相同方法名,相同引數
3、在父類中:宣告當前方法是要被子類重寫
4、關鍵字:virtual
5、在子類中,重寫方法用關鍵字override。
6、在子類中可以不重寫虛方法
1.2、注意:
1、虛方法在父類是有方法體
2、子類可以不實現虛方法
2、抽象方法
2.1、語法:
訪問修飾符 abstract 返回值型別 方法名();
2.2、特點:
1、在不同類中
2、相同的方法體,相同的引數
3、沒有方法體
4、只能位於抽象類
5、父類裡面的抽象方法,子類必須實現(除非子類也是抽象類)
6、重寫方法的關鍵字為:override
4.1、語法
訪問修飾 abstract class 類名{}
4.2、特點
1、不能new物件
2、不能用sealed和static修飾
3、抽象類中可以有抽象方法,可以有非抽象方法
繼承和多型
物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...
繼承和多型
物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...
繼承和多型
類還有乙個重要的特性就是繼承,什麼是繼承?它又有什麼作用呢?繼承最主要的目的就是為了擴充套件原類的功能,加強或改進原類所沒有定義的屬性及方法。例如我們有狗這個類,可是狗的種類還是有很多,比如說博美狗,聖伯納,柴犬等等,如果只用狗一種類來定義所有種類狗的屬性及方法,那麼用這個類所產生出來的物件一定會有...