繼承與多型

2022-09-06 22:03:18 字數 890 閱讀 7203

一:繼承

繼承是為了重用父類**。兩個類若存在is-a的關係就可以使用繼承。,同時繼承也為實現多型做了鋪墊。

二:什麼是多型?多型的實現機制是什麼?

多型就是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期間才確定,即乙個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。因為在程式執行時才確定具體的類,這樣,不用修改源程式**,就可以讓引用變數繫結到各種不同的類實現上,從而導致該引用呼叫的具體方法隨之改變,即不修改程式**就可以改變程式執行時所繫結的具體**,讓程式可以選擇多個執行狀態,這就是多型性。

1. 多型的實現

(1)父類型別 引用 子類物件

1

class

animal89

public

void

func2()

1314}15

1617

public

class cat extends

animal

2122

public

void

func2()

2526

public

static

void

main(string args)

3435 }

2. 多型中型別轉換

在多型中存在兩種型別轉換,一種是自動型別轉換,一種是強制型別轉換。

在引用資料型別轉換過程中,自動型別轉換也稱向上型別轉換。子類可以自動轉換成父類。

繼承與多型

繼承 繼承是c 語言支援 重用及多型的重要機制。通過繼承,可以繼承可以在現有類的基礎上派生出新類,新類將共享現有類的成員,並且還可以新增新的成員。c 語言中,重用主要表現為可以使用現成的類 如.net框架類庫中的類 來定義新類,主要方法有組合和繼承兩種 繼承是物件導向程式設計支援 重用的另乙個重要機...

繼承與多型

虛函式只要在基類裡定義,所以繼承類都不用重新定義為虛函式,自動成為虛函式。虛函式必須有實現,普通成員函式在沒有呼叫時可以沒有實現 定義 class animal 只需要在基類定義函式為虛,子類中不需要新增virtual.smile函式在沒有呼叫時可以不實現。當有函式為虛函式時,析構函式應定義為vir...

繼承與多型

繼承需要符合的關係 is a,父類更通用 子類更具體 子類繼承父類的所有屬性和方法 不包括父類構造方法 super可以呼叫父類的方法和構造方法 子類可以重寫父類的方法 使用多型之後,當需要增加新的子類型別時,無需更改總部類,程式的可擴充套件性及可維護性增強 簡單來說,多型是具有表現多種形態的能力的特...