Python基础:Python的继承,多继承和多重继承举例

# 继承 重用代码  提高软件的可扩展性
class Animal():
    def __init__(self, name):
        print(1)
        self.name = name
        pass
    def eat(self, food):
        print(self.name + "吃" + food)
        pass
    def drink(self, food):
        print(self.name + "喝" + food)
        pass
    pass

class Dog(Animal):
    def __init__(self, name):
        super().__init__(name)
        print("dog" + str(2))
        pass

    def speak(self):
        print(self.name + '旺旺')
        pass
    pass

class Cat(Animal):
    def __init__(self, name):
        super().__init__(name)
        print(3)
        pass

    def speak(self):
        print(self.name + "喵喵")
        pass
    pass

# Monster 怪物 四不像
class Monster(Cat, Dog): # 多继承 Python3的C3算法  多重继承
    def __init__(self, name):
        # super(Dog, self).__init__(name)
        super().__init__(name) # 这个问题可能是python自己的bug
        pass

    def speak(self):
        super().speak()
        pass
    pass

dog = Dog('二哈')
dog.eat('大棒骨')

cat = Cat('Mikey')
cat.eat('小老鼠')

monster = Monster('四不像')
monster.eat('吃人')
monster.speak()

print(Monster.mro())
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值