Python-單繼承中值傳遞的問題

WRY_發表於2020-11-04
"""
一個簡單單繼承的面試題
"""


class Parent(object):
    x = 1


class Child1(Parent):
    pass


class Child2(Parent):
    pass


"""
python 同java 一樣 通過類.xxx 獲取類變數時 先去呼叫類中尋找屬性 如果呼叫類中沒有則預設去父類中尋找
如果其中的子類重寫了該值 但是該值僅僅是在子類中被建立或者修改 並不影響到父類 (想要修改父類就需要呼叫父類.xxx 來修改)
"""
if __name__ == '__main__':
    print(Parent.x, Child1.x, Child2.x)
    Child1.x = 2
    print(Parent.x, Child1.x, Child2.x)
    Parent.x = 3
    print(Parent.x, Child1.x, Child2.x)


"""
1 1 1
1 2 1
3 2 3
"""

相關文章