1. 程式人生 > >python學習歷程第18天

python學習歷程第18天

變量 執行 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天