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方法的对象。

你可能感兴趣的:(python 继承与多态)