通用多態

通用多態

在面向對象的多態性中,通用多態表現為參數多態和包含多態兩種多態。

在面向對象的多態性中:

通用多態包含了參數多態和包含多態兩種多態

參數多態(parametric)

採用參數化模板,通過給出不同的類型參數,使得一個結構有多種類型。

兩個packages的:

·套用內涵一致:提供的都是堆疊抽象操作。

·實現結構相似:採用同類數據結構,實現代碼相同。

·元素的類型不同,一些用常量表示的細節不同。

對比

函式是相似的語句序列的一種涵義明確的抽象,用函式中的語句表示相同的部分,用形參指明不同的部分,用實參體現不同的部分。但是,函式的參數只能是數據,不能是類型。

類屬在一個抽象結構中允許以參量形式來表示可變的類型﹑函式﹑常數﹑數據值,在編譯時(靜態)進行實例化,結果是一個具體的結構(類型﹑函式等)。而且類型的實例化可以靜態進行,也可以動態進行,但結果都是一個值。

包含多態(inclusion)

同樣的操作可用於一個類型及其子類型。(注意是子類型,不是子類。)包含多態一般需要進行運行時的類型檢查。如Pascal中的子界。

幾點需要注意的地方:

1.包含多態的操作存在著逆單調(Anti-mornotonic)。即一個類型t上的操作,當其定義域縮小成t的一個子類型時,其值域應不小於t.

相關詞條

熱門詞條

聯絡我們