為何少部分語言如C 和python要堅持引入多繼承?

時間 2021-05-31 19:41:08

1樓:孫剛

語言支援多繼承沒有什麼不妥。

又沒有強制你使用多繼承。

規範是死的,人是活的。

濫用多繼承不對,教條的不使用多繼承也是不對的。

2樓:

1、多重繼承的例子在現實世界中隨處可見。如果程式語言支援多重繼承,則可以用最直接、最自然的方式對其進行抽象和對映。

2、C++相信:不可能通過減少語言特性來增強語言的表達力。

3、濫用多重繼承的確會導致很大問題,但這是程式設計師自己的能力問題,與C++無關。

4、C++優先照顧的是專家程式設計師的需求,而不是新手程式設計師的需求。

3樓:Godbird

我覺得「堅持引入多繼承」並不是正確的說法,因為在C++誕生的那個年代,很多特性都帶有試驗性的,並沒有「堅持引入」一說,因為C++的歲數比現在流行的大多數OO語言實在要大得多了。再說多重繼承這個東西吧,既不能說是個什麼C++的優勢,也不能說是它的缺陷,只能說是個特色。某些技術,比如微軟的COM就是通過多重繼承實現的,這證明了多重繼承的實際價值(當然後來COM也像所有微軟的其它技術一樣遭人病垢,微軟就是這麼遭人恨,我也沒辦法),所以你你至少不能否認多重繼承的意義,但是正如C++的很多其它特性一樣,用不好多重繼承的人總是對多重繼承多有指責,這是沒有道理的。

面對一種技術,首先你要明白它的實際價值,才好去從反面對它進行批評。歷史上很多C++同期的技術都退出宇宙了,但是C++仍然保持了旺盛的生命力,這是有道理的。當然,這裡我扯的有些遠了,你是在談論多重繼承,而不是C++本身,但是我認為這都是一樣的。

4樓:

因為多繼承是一種很有用的特性,沒有該特性的語言會令人感到一點不便。所以真正的問題是其它語言為什麼不支援該特性,僅僅說因為容易被少部分欠缺經驗的人誤用顯得很沒說服力。

c語言中int main 主函式的結尾為何有時有return 0有時沒有?

楓子 return 0首先是告知程式結束,很重要的一點是輸出到標準錯誤流,表示程式執行正確。除錯程式的時候可以編寫 return 1或者其他不是0的數字。表示程式執行出錯。 文林 以上所有答案都不完整,甚至還有錯誤的答案,其實這種問題,試試不就知道了嗎。寫乙個test.c include int t...

我想同時學習C語言與Python可以嗎,如果可以,有沒有什麼建議,比如看什麼書籍等?

c語言是很多語言的基礎,學過c語言以後百再學其他的都很容易。不過度如果你之前沒接觸過程式語言的話建議不要同時學兩種語言,貪多嚼不知爛就是這個道理。如果想長期掌握各種語言的道話可以用c來入門,讓基本功更加紮實,但是版c語言是比較枯燥的,反觀學python更有成就感。你可以根據自己的愛好或者權目的之類的...

有哪些語言的編譯器是用C 寫的 為何選用C

yibin guo c 在軟體擴充套件性上,有的情況是要優於C語言。因為是語言級別的支援,讓你不得不這樣去思維 對比 llvm 和 gcc 就可以得出結論,你如果想修改一下Gcc的東西,花費的時間是要比llvm 多。但是以上是思維模式的範疇,其實c也可以很好的 物件導向 linux 核心裡面的有些設...