python學習筆記18 類的繼承單繼承多繼承經典類新式類深度優先廣度優先

class Person(Animal): #括號裏面的是 父類/基類/超類 括號外面的是 子類/派生類

      pass

繼承的優點: 1節省代碼 2規範代碼 

繼承的初識:

子類以及子類實例化的對象,可以訪問父類的任何方法或變量,類名可以訪問父類所有內容

既要執行子類的方法,又要執行父類的方法有2種解決方案(2種寫法,一個效果)

NO.1 在子類方法中直接引用父類方法並執行.

NO.2 super(Bird,self).__init__(name,sex,age)

          或 super().__init__(name,sex,age)

 

繼承的進階: 

繼承: 單繼承,多繼承

 

類: 經典類,新式類 

經典類: 不繼承object類都是經典類.  python2x 中所有的類默認都不繼承object,所以既有經典類又有新式類.

新式類: 凡是繼承object類都是新式類.  python3x 中的類都默認繼承object,所以都是新式類

 

單繼承:  新式類,經典類查詢順序一樣

多繼承:  新式類:遵循廣度優先(廣度優先: 每個節點有且只走一次,即是:如果下一個節點能通過其他路徑走到,則他不走)

               廣度優先查詢方法 F.mro( ) , 查詢類的繼承順序 似乎只適用於新式類

               經典類:遵循深度優先(深度優先:不會對下一個節點進行其他路徑存在判斷,即是一條路走到底(hei))

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章