繼承和多型

2021-10-03 04:14:27 字數 1526 閱讀 6112

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來...

繼承和多型

類還有乙個重要的特性就是繼承,什麼是繼承?它又有什麼作用呢?繼承最主要的目的就是為了擴充套件原類的功能,加強或改進原類所沒有定義的屬性及方法。例如我們有狗這個類,可是狗的種類還是有很多,比如說博美狗,聖伯納,柴犬等等,如果只用狗一種類來定義所有種類狗的屬性及方法,那麼用這個類所產生出來的物件一定會有...