python 继承与多态

在学习python class的时候了解了class的定义,在定义class的时候会传入object基类,例如:

class Student(object):
    ...

这里就涉及到了class的继承,传入的object就是父类,也可以叫作基类。我们发现所有的class最后都能溯源到基本object。一个普通的继承例子。

class Animal(object):
    def run():
        print(“animal is running”)


class Dog(Animal):
    ...

#调用Dog class
dog = Dog()
dog.run()
# animal is running

可以发现,继承Animal父类的子类Dog并没有定义run方法,但是却可以直接调用父类的方法。如果子类定义了与父类同名的方法,会覆盖父类的方法。

多态

通过例子来了解多态。

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

run_twice(Animal())

#animal is running
#animal is running

多态的作用在于,传入run_twice方法的对象可以是Animal类或者是任意继承Animal的子类,也可以是任意有run方法的对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。