python學習歷程第18天
阿新 • • 發佈:2018-07-25
變量 執行 cat 通過 優先 繼承 多態 類實例化 利用 都是
面向對象的三大特征:繼承 多態 封裝
初識繼承:
子類及子類實例化的對象,可以調用父類的任何方法和變量
類名可以訪問父類所有內容
子類實例化的對象也可以訪問父類所有內容
只執行父類中的方法:子類中不要定義與父類相同的方法
只執行子類的方法:在子類中創建這個方法
執行子類與父類中的方法:
1.通過父類中的構造函數將參數傳入
2.利用super
class Animal: def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def eat(self): print("%s吃肉"%self.name) class Cat(Animal): def __init__(self,name,sex,age,color): # Animal.__init__(self,name,sex,age) super().__init__(name,age,sex) self.color=color def eat(self): print("%s%s抓老鼠"%(self.color,self.name)) super().eat() c=Cat("阿花",‘公‘,3,‘白色‘) c.eat()
繼承的進階
繼承:單繼承 多繼承
類:經典類 新式類
python3中所有的類都是新式類,默認繼承object類
經典類:默認不繼承object的類都為經典類(python2中既有經典類又有新式類)所有的類都默認不繼承object類
單繼承:新式類 經典類查詢順序一致
多繼承:新式類:遵循廣度優先
經典類:遵循深度優先
廣度優先:一條路走到倒數第二級,判斷,如果其他路能走到終點,則返回走另一條路,如果不能,走到終點
深度優先:一條路走到底
python學習歷程第18天