分享

Python类的多态

 路人甲Java 2022-12-25 发布于北京

Dog和Cat都继承Animal,都使用父类的init方法,但是greet方法却是不同的,子类对父类进行了覆盖,还编写了自己的run方法


class Animal(object):
    def __init__(self,name):
        self.name = name
    def greet(self):
        print('I am a animal')

class Dog(Animal):
    def greet(self):
        print('I am a ' + self.name + ' dog')
    def run(self):
        print('dog run')

class Cat(Animal):
    def greet(self):
        print('I am a ' + self.name + ' cat')
    def run(self):
        print('cat run')


dog = Dog('black')
cat = Cat('white')
dog.greet()
cat.greet()
dog.run()
cat.run()
# isinstance判断某个数据是否是该类型
print(isinstance(dog,Animal))
print(isinstance(cat,Animal))
print(isinstance(dog,Dog))
print(isinstance(dog,Cat))

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约