python中,例項化乙個類,和繼承乙個類,都適用什麼場景,有什麼場景就只能用其一麼?

時間 2021-06-03 09:32:58

1樓:Annie拉拉

例項化是用到了類的封裝特性,例項化後就可以復用裡面的某個方法,而不必自己重複造輪子。

繼承是用到類的繼承特性,創造類很大程度是為了繼承,此時呼叫的是類裡面幾乎所有方法(可以改寫—多型)。

類本身封裝的屬性和方法都是有關聯甚至有步驟的,指向更龐大的特性和功能,封裝層次越高復用性越低,所以類的整體呼叫(繼承)不如類中某個方法呼叫(例項化後呼叫某方法)來的頻繁。

比如你要寫乙個類「汽車」,你就可以例項化「電單車」這個類,呼叫裡面的「加油」方法,而不是讓你的汽車類繼承電單車類。而你要寫乙個類「2020摩摩車」,就可以繼承「電單車」這個類,改寫裡面一些方法就好了。

2樓:Li Ye

繼承乙個類得到的還是乙個類。

例項化乙個類,得到的是乙個例項物件。

不管是繼承得到的還是從零建立的類。最終都是為了例項化(也有永遠不被例項化的類。也許目的就是為了建立別的類?)。

3樓:薄荷紅茶

有沒有誰能講明白啊,都是說繼承是啥和例項是啥,都咋弄,這個看課本就明白了。我的意思是它們都有什麼適用場景,什麼時候只能用其一。一般情況下,我們要寫個業務邏輯,要呼叫乙個庫時,除了可以寫乙個子類,繼承庫裡面的類,去實現以外,也可以寫乙個函式去例項化這個庫裡面的類。

這兩種方式都可以完成我的需求,但哪種方式更好,或者各有什麼優缺點?換個說法,比如有什麼需求,就只能靠繼承去完成,有些需求就只能靠例項化去完成?

JavaScript 中例項化乙個物件,卻不用 new,為何?

方應杭 你如果以前學過物件導向,會覺得這樣做很不 物件導向 但是如果你弄清楚 JS 裡面 new 的作用,就不會有疑問了。JS 的 new 到底是幹什麼的?知乎專欄 王聰奕 作為乙個函式,Date物件可以直接呼叫,有沒有引數,直接呼叫Date總是返回當前時間。作為建構函式,使用new,會返回乙個Da...

python 乙個類的函式如何呼叫另乙個類中函式的返回值?

我覺得大概有這麼幾種辦法。最簡單的一種是給subFrame的建構函式新增乙個引數 class subframe wx Frame def init self parent self parent parent class mainframe wx Frame def open subframe se...

python中,tuple中嵌入了乙個list,list的內容變了,tuple會變嗎?

已登出 我的理解是這樣的。tup a list1 tuple的第二個元素指向的是list1的記憶體位址,元素指向的記憶體位址是不會發生變化的,所以無論怎麼修改list1,tuple都不會變化。 三盞燈亮一盞 就像你有三個兒子,其中乙個兒子有兩個兒子,後面這個兒子又生了乙個兒子,雖然他變成三個兒子了,...