Python類部分的多型理解

2021-09-10 15:13:12 字數 761 閱讀 6671

python類的多型,按照字面上的理解,就是類產生了多種的形態。

如何產生多種形態:

很明顯在未例項時,其**都是一致,並未發生任何改變,其並未產生多型,只有例項後才可能產生多型的實現。具體為何會產生多型的效果呢?先看下面框架:

父類

_____繼__|__承__.....

| | | |

子類1 子類2 子類3 子類n

在上面的繼承框架中,子類繼承了父類,那麼子類就可以呼叫父類的屬性和方法;當外部程式呼叫多個同一父類的子類時,如果外部程式呼叫的方法是子類繼承自父類的方法。

那麼,我們只要例項化多個要呼叫的子類後,用外部程式的方法去構造乙個形式如:

**構造例項.繼承自父類的方法或子類共有的方法**

以下,用繼承自父類的方法--(代替)-->繼承自父類的方法或子類共有的方法

然後,我們把—構造例項—用例項化後的例項替換掉—構造例項—的位置,就會產生:

**例項化後的例項.繼承自父類的方法或子類共有的方法**
也就是,直接呼叫子類例項的繼承自父類的方法的效果。

如果,把該構造的形式的方法放入特定的類中,每當我們呼叫這個特定的類時,只要保證,上文的子類已經例項化,我們就可以把呼叫特定的類的這個構造形式,同時把子類的例項作為引數傳入,從而實現產生不同結果的形態。

關於python類的多型 舉例理解

類的多型特性,要滿足以下 2 個前提條件 繼承 多型一定是發生在子類和父類之間 重寫 子類重寫了父類的方法。class whosay def say self,who who.say class clanguage def say self print 呼叫的是 clanguage 類的say方法 ...

類之多型的理解

多型的理解 使用基類指標呼叫派生類成員 include using namespace std class left int left class right int right class bottom public left,public right void funleft void funr...

Python 類的多型

python的多型 class dog defeat self print i am dog eat something class cat defeat self print i am cat eat somthing 多型的呼叫形式 defanimal eat one one.eat d dog...