1. 程式人生 > >python - 覆蓋、擴充套件父類

python - 覆蓋、擴充套件父類

當父類的方法不能滿足子類的需求的時候,可以對父類的方法進行重寫
1.覆蓋父類方法
2.對父類方法進行擴充套件

覆蓋:

class Animal:
    def eat(self):
        print('吃')
    def drink(self):
        print('喝')
    def run(self):
        print('跑')
    def sleep(self):
        print('睡')


class Cat(Animal):
    def call(self):
        print('miaomiao')


class Hello_Kitty(Cat):
    def speak(self):
        print('我可以說日語')
    def call(self):
		print('sakrduqy')

輸出覆蓋了父類call的方法
在這裡插入圖片描述
擴充套件父類的方法:
我們希望hellokitty不僅會父類中miaomiao還會sakrduqy,所以用super().xx()的方法

class Animal:
    def eat(self):
        print('吃')
    def drink(self):
        print('喝')
    def run(self):
        print('跑')
    def sleep(self):
        print('睡')


class Cat(Animal):
    def call(self):
        print('miaomiao')


class Hello_Kitty(Cat):
    def speak(self):
        print('我可以說日語')
    def call(self):
        # Cat.call(self)
        super().call()
        print('sakrduqy')

hk = Hello_Kitty()
hk.speak()
hk.call()