初始繼承和多型 二(補充)

2022-08-23 13:21:08 字數 2133 閱讀 5760

一.子類與父類

1.子類:父類

例如:dog(子類):anomal(父類)

子類(派生類)父類(基類和超類)

2.子類可以繼承父類那些成員

(非私有成員,但是從技術角度,可以認為是父類的所有成員)

軟體系統中的兩個類符合is a時可以使用繼承

例如:student is a person

se is a employee

鴕鳥(ostrish)is a bird(錯誤結論!!!)

☆:繼承模式下子類構造背後到底發生了什麼?

如果我們想構建乙個子類物件

//在animal父類中

class animal

public int age

//無參

public animal()

//帶參

public animal(string name,int age)

}

//在dog類中

class dog:animal

public int age

//無參

public dog()

//帶參

public dog(string name,int age,string color)

public void empty()

}

//program

class program

}

打斷點進行除錯

按f11進行下面除錯

成序正常執行

(1)進入子類構造方法名,但子類構造的方法體

(2)跳轉到父類構造方法名,接下來執行父類構造的方法體

(3)父類方法體執行完畢,轉到子類的方法體執行

(4)子類方法執行完畢,跳轉到main物件函式,代表子類物件建立工程

結論:只要你敢建立子類物件,那麼後台一定有乙個父類物件已經自動生成!!!!

base(a,b):括號中有幾個引數,參照的是父類中的帶參構造。a,b的引數命名根據子類的帶參

構造引數的變數命名

base可以訪問屬性和方法

2.訪問修飾符(protected)

public(方法,類,成員變數):任何地方都可以訪問

internal(成員變數,類,方法):只能在當前程式集中使用(訪問)

private(方法,成員變數):只能中在當前類的{}使用

protected受到保護的(成員變數和方法):當前類以及其他子類,以及子類的子類

3.單根性和傳遞性

單根性:乙個孩子能有幾個親生父親

only one

乙個子類只能有乙個直接父類

4.多型

多型:不同的物件對同乙個操作,做出的響應不同,就是多型

5.通過base呼叫父類建構函式注意點

01.通過base呼叫父類建構函式只能書寫在子類的構造後

02.通過base呼叫父類構造函式引數順序和父類的建構函式一致

初始繼承和多型

繼承 inheritance 繼承的優點 提高軟體模組的可復用性和可擴充性。繼承 語法class 子類 父類 base關鍵字和protected修飾符 this 表示當前例項,通過他可以訪問本身的成員。base 表示父類,可以用於訪問父類的成員 private 私有的任何類無法訪問 public 共...

C 繼承和多型概念補充

一,繼承和多型 類之間的繼承 基類,父類 成員變數 描述類的屬性 成員函式 功能 派生類 子類 體現出與基類的不同 繼承 基類與派生類之間訪問許可權 1.public繼承 基類裡面的公有成員變數被繼承後在派生類中也是公有的 可以在類外被訪問 基類裡面的保護成員變數被繼承後在派生類中可以被訪問,在派生...

繼承和多型

物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...