MRO super面試題 詳解

2022-05-18 15:08:04 字數 1075 閱讀 6440

class

init(object):

def__init__(self, v):

print("

init")

self.val =v

class

add2(init):

def__init__(self, val):

print("

add2")

super(add2, self).

__init__(val)

print

(self.val)

self.val += 2

class

mult(init):

def__init__

(self, val):

print("

mult")

super(mult, self).

__init__(val)

self.val *= 5

class

haha(init):

def__init__

(self, val):

print("哈哈"

) super(haha, self).

__init__(val)

self.val /= 5

class pro(add2,mult,haha): pass

class incr(pro):

def__init__(self, val):

super(incr, self).__init__(val)

self.val += 1p = incr(5)

print

(p.val)

c = add2(2)

print(c.val)

super(類名, self) 從某個類開始找下乙個mro

第一步:

先找一下整個程式的mro

用c3演算法查詢:

查詢順序如上,知道了執行順序就可以按流程執行了

面試題 HashMap詳解

先上hashcode和equals原始碼 jni,呼叫底層其它語言實現 public native inthashcode 預設同 直接比較物件 public boolean equals object obj equals方法 string類中重寫了equals方法,比較的是字串值,看一下原始碼實...

IOS面試題詳解 二

下面從第一題開始解答 題目 1.object c的類可以多重繼承麼?可以實現多個介面麼?category是什麼?重寫乙個類的方式用繼承好還是分類好?為什麼?關於多繼承 首先 object c不能夠多繼承,類似下面 的這種方式是絕對通不過編譯的.當然,你也可以把nsstring前面的 去掉再試試,呵呵...

HTTP協議 詳解 面試題

http請求由三部分組成,分別是 請求行 訊息報頭 請求正文 http 超文字傳輸協議 是乙個基於請求與響應模式的 無狀態的 應用層的協議,常基於tcp的連線方式,http1.1版本中給出一種持續連線的機制,絕大多數的web開發,都是構建在http協議之上的web應用。1 常用的http方法有哪些?...