程式設計基礎/繼承和多型
外觀
< 程式設計基礎
在面向物件程式設計中,繼承是基於另一個物件(原型繼承)或類(基於類的繼承)建立物件或類的機制,保留類似的實現。在大多數基於類的面嚮物件語言中,透過繼承建立的物件(“子物件”)獲得父物件(除了:基類的建構函式、解構函式、過載運算子和友元函式)的所有屬性和行為。繼承允許程式設計師建立建立在現有類基礎上的類,以指定新的實現,同時保持相同的行為(實現介面),以重用程式碼並透過公共類和介面獨立擴充套件原始軟體。[1]
繼承是一種從最通用到最具體地排列物件的方法。從另一個物件繼承的物件被認為是該物件的子型別。一個例子可能包括教師和學生,它們都從人繼承。當我們可以用是這個短語來描述兩個物件之間的關係時,這種關係就是繼承。
我們也經常說一個類是它繼承的類的子類或子類,或者另一個類是它的超類或父類。我們可以將層次結構底部最通用的類稱為基類。
繼承可以幫助我們表示工作方式有一些差異和一些相似之處物件。我們可以將所有物件共有的功能放在基類中,然後定義一個或多個子類,這些子類具有自己的自定義功能。
繼承也是一種輕鬆重用現有程式碼的方法。如果我們已經有一個幾乎滿足我們需求的類,我們可以建立一個子類,在其中部分覆蓋它的一些行為,或者新增一些新功能。
在一些靜態型別語言中,繼承非常受歡迎,因為它允許程式設計師繞過靜態型別的一些限制。如果教師和學生都是人,我們可以編寫一個接受 Person 型別引數的函式,並讓它在教師和學生物件上工作,因為它們都從 Person 繼承。這被稱為多型。
- 繼承
- 一個物件或類基於另一個物件或類,使用相同的實現或指定新的實現來保持相同的行為。[2]
- 多型
- 為不同型別實體提供單一介面。[3]