1. 程式人生 > >Python學習第二天:面向物件之繼承

Python學習第二天:面向物件之繼承

  繼承實現程式碼的重用,相同的程式碼不需要重複的編寫。

1.繼承的語法

'''
專業術語:
Dog類是Animal類的子類,Animal類是Dog類的父類,Dog類從Animal類繼承
Dog類是Animal類的派生類,Animal類是Dog類的基類,Dog類從Animal類派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def
sleep(self): print("") class Dog(Animal): def bark(self): print("汪汪汪") class Xiaotianquan(Dog): ###繼承的傳遞性 def fly(self): print("神仙") wangcai = Xiaotianquan() wangcai.eat() wangcai.run() wangcai.drink() wangcai.sleep() wangcai.bark() wangcai.fly()
繼承的語法

 

2.繼承中方法的重寫

'''
專業術語:
Dog類是Animal類的子類,Animal類是Dog類的父類,Dog類從Animal類繼承
Dog類是Animal類的派生類,Animal類是Dog類的基類,Dog類從Animal類派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def sleep(self):
        
print("") class Dog(Animal): def bark(self): print("汪汪汪") class XiaoTianQuan(Dog): ###繼承的傳遞性 def fly(self): print("神仙") def run(self): print("跑著跑著就飛了") ###方法的重寫 doudou = XiaoTianQuan() doudou.eat() doudou.run() doudou.drink() doudou.sleep() doudou.bark() doudou.fly()
View Code

 

3.擴充套件父類的方法

'''
專業術語:
Dog類是Animal類的子類,Animal類是Dog類的父類,Dog類從Animal類繼承
Dog類是Animal類的派生類,Animal類是Dog類的基類,Dog類從Animal類派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def sleep(self):
        print("")

class Dog(Animal):
    def bark(self):
        print("汪汪汪")


class XiaoTianQuan(Dog):                    ###繼承的傳遞性
    def fly(self):
        print("神仙")

    def run(self):
        print("跑著跑著就飛了")            ###方法的重寫

    def bark(self):
        print("--------------------------")
        super().bark()                                ###使用super()呼叫父類中方法,從而實現擴充套件父類
        #Dog.bark(self)                              ###使用父類名.方法(self) 呼叫父類中的方法(不推薦使用)
        print("##########################")
doudou = XiaoTianQuan()



doudou.eat()
doudou.run()
doudou.drink()
doudou.sleep()
doudou.bark()
doudou.fly()
View Code

 

4.多繼承

注意事項:如果父類之間存在同名的屬性或方法,應該儘量避免使用多繼承

class Aaa:
    def test1(self):
        print("我是爸爸1")


class Bbb:
    def test2(self):
        print("我是爸爸2")


class Ccc(Aaa,Bbb):
    #多繼承可以讓子類物件,同時具有多個父類的屬性和方法
    pass


#建立子類物件
c = Ccc()

c.test1()
c.test2()
View Code