1. 程式人生 > >學習日誌0820類的繼承

學習日誌0820類的繼承

str ini 函數 引用 功能 spa 菱形 什麽是 name

1 什麽是繼承

  繼承是一種新建類的方式,新建的類稱之為子類/派生類,被繼承的類稱之為父類/基類/超類

  繼承的特性:子類可以遺傳/重用父類的屬性

  python中繼承的特點:

  1 python中一個子類可以同時繼承多個父類

  2 在繼承的背景下去說,python中的類分為兩種:

    新式類,經典類:

    新式類:但凡繼承了object的類Foo,以及該類的子類都是新式類

      在python3中都是新式類,默認繼承object

    經典類:沒有繼承object的類,以及該類的子類

在子類派生出的新方法中重用父類的功能的方式一:

指明道姓的引用一個類中的函數:

  

class
a: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex class b(a): def __init__(self,name,age,sex,b) a.__init__(self,name,sex) self.b= b

  總結:

    1 與繼承無關

    2 訪問沒有自動傳值的效果

  在多繼承背景下屬性的查找的優先級:

    如果一個子類繼承多個分支:就一個分支一個分支的查找,一個分支完全找完再找另一個分支

  在菱形繼承中:

    新式類:廣度優先查找先(一個分支一個分支的查找,所有的分支都查找完了之後再找頂級的)

    經典類:深度優先查找(一個分支一個分支的找,第一個分支直接到頂級)

  在子類中重用父類的方式二:

    super()

class a:
    def __init__(self,name,age,sex):
        self.name= name
        self.age = age
        self.sex = sex

class b(a):
    def __init__(self,name,age,sex,b):
        supper().
__init__(name,age,sex) self.b = b

學習日誌0820類的繼承