第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python二級繼承

Python二級繼承

慕工程0101907 2021-03-29 17:40:07
我是python的新手,但是我對二級繼承有疑問。我有這種情況:class A:  def Something(self):     #Do Stuffclass B(A):  def SomethingElse(self):     #Do other stuffclass C(B):  def Something(self):     #Do additional stuff請注意,類C繼承自B,而類B繼承自A,但類B不實現(xiàn)Something()方法。如果我為類C的實例調用super(C,self).Something(),會發(fā)生什么?它會調用類A中的方法嗎?另外,如果類B確實實現(xiàn)Something(),但我想直接從類C調用類A的Something()(即繞過類B的實現(xiàn)),該怎么辦?最后,有人可以向我解釋為什么人們使用super()而不是直接調用父類的方法嗎?謝謝。
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

在第一種情況下,如果B沒有實現(xiàn)Something,則調用super將落到定義它的地方,即A。

在第二種情況下,可以通過調用可以繞過乙A.Something(self)

使用super它的主要原因是在您具有多重繼承的情況下:Python將始終在MRO(方法解析順序)中調用下一個定義。


查看完整回答
反對 回復 2021-04-05
?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

  1. 是的,它將Something()A全班同學打電話。

  2. 您隨時可以A.Something(self)從打來電話C

super()和其他調用約定的解釋將花費一些時間??纯从嘘PMRO和Python的Super的原始文章很漂亮,但是您不能使用它。


查看完整回答
反對 回復 2021-04-05
  • 2 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號