多态-对于不同class 中同一属性调用(eat)

class Animal(object):  #Animal 类继承object类
    
    def __init__(self, color):
        self.color=color
    def eat(self):
        print("动物在吃!")
    def run(self):
        print("动物在跑!")

class Cat(Animal):  #Cat 类继承Animal类
    
    def eat(self):
        print("小猫在吃鱼!")

class Dog(Animal):
    
    def __init__(self, name,age,color): #调用父类的初始化方法
        super(Dog, self).__init__(color) # super 调用父类的方法
        self.name=name
        self.age=age
    def eat(self):
            print("狗在啃骨头!")
    def feed(object):
        object.eat()

#多态        
def feed(obj):
    obj.eat()

an=Animal("黄色")
cat=Cat("橘色")
dog=Dog("小黑",23,"黑色")

feed(dog)    #在执行同样一种方法属性时,选择性调用,在本例中an/cat/dog 中都有eat属性,只需要更改an/cat/dog即可实现其eat属性调用
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值