下面的模型支援多重繼承嗎?

2021-08-29 17:39:30 字數 398 閱讀 8607

這是書本《uml物件導向建模與設計》(p68\ 4.10(7))上的乙個習題,題目為

圖描述泛化的部分元模型(上邊的那個類模型圖),泛化會與多個泛化角色相互關聯,這裡的角色指類在泛化中扮演的角色,角色型別要麼是子類,要麼是父類,這個模型是否支援多重繼承,解釋您的答案。

答案:  不支援多重繼承,對於參加各種泛化的子類,乙個類可以有子類的多種泛化角色。

我用個圖(下邊的類模型圖)用於解釋,以為關鍵在於圖中superclassrole與generalization類的關聯是1對1還是多對1,如可以多對一則說明可以有多個父類,如果是1對1則只能由乙個父類。我從上邊的模型圖得到generalization 與generalizationrole的為1對多關聯,因此我以為它是可以多重繼承的,如圖。但一看答案,發現不對,請問應該如何理解?

Python支援多重繼承嗎?

繼承是物件導向程式設計的乙個重要方式,通過繼承,子類可以擴充套件父類的功能,python也具有該特性,除此之外,python還可以使用多重繼承。語法 class subclass base1,base2 1.繼承只會繼承父類的方法,不能繼承父類的變數 2.要想繼承父類的變數,需要執行父類的 init...

多重繼承的物件模型

廢話少說,在c 中是允許多重繼承的,比如有乙個派生類cimp派生自cbasea,和cbaseb。在cimp中覆蓋了兩個基類中的虛函式。如果乙個函式要求基類的指標,而我們傳遞乙個派生類物件的位址,編譯器如何保證這是安全的。在c 中,類是編譯期的,為了實現多重繼承,在派生類的記憶體布局中保留了基類的完整...

php類可以多繼承嗎,php支援多繼承嗎

題問php是否支援多繼承?答案 不可以,只支援單繼承。如何實現多繼承呢?inte ce這裡我們就不做過多的說明了,它的原理就是乙個類可以實現多個介面。下面這段 就能夠說明。inte ce test1 public function connect inte ce test2 public funct...