美文网首页
python继承与多态

python继承与多态

作者: Oneshot_fea8 | 来源:发表于2019-01-09 22:13 被阅读0次
class Animal(object):
    def run(self):
        print('Animal is running...')

class Dog(Animal):
    def run(self):
        print('Dog is running...')

class Cat(Animal):
    def run(self):
        print('Cat is running...')

def run_twice(animal):
    animal.run()
    animal.run()

a = Animal()
d = Dog()
c = Cat()

#判断一个变量是否是某个类型可以用isinstance()判断
print('a is Animal?', isinstance(a, Animal))
print('a is Dog?', isinstance(a, Dog))
print('a is Cat?', isinstance(a, Cat))

print('d is Animal?', isinstance(d, Animal))
print('d is Dog?', isinstance(d, Dog))
print('d is Cat?', isinstance(d, Cat))

#多态真正的威力:作用在哪个对象上由运行该对象的确切类型决定
run_twice(c)

#运行结果:
a is Animal? True
a is Dog? False
a is Cat? False
d is Animal? True
d is Dog? True
d is Cat? False
Cat is running...
Cat is running...  

相关文章

网友评论

      本文标题:python继承与多态

      本文链接:https://www.haomeiwen.com/subject/caynrqtx.html