继承与多态
1.继承
当我们在定义一个class时,可以由原来的class继承。新的class被称为父类(基类,超类)
继承最大的好处是子类获得了父类全部的功能,如:
class Animal(object):
def run(self):
print('Animal is running...')
class Dog(Animal):
pass
class Cat(Animal):
pass
dog = Dog()
dog.run()
cat = Cat()
cat.run()
#Animal is running...
#Animal is running...
2.多态
继承的另一个好处就是多态。通俗的讲,多态就是上面的Animal类与Dog类中同时具有run函数时,要执行Dog类下的run函数会执行出Dog类中的run。
所以,在继承关系中,如果一个实例的数据类型是某个子类,那它的数据类型也可以被看做是父类。但是,反过来就不行
运用多态,我们可以做到:
对扩展开放:允许增加父类的新子类
对修改封闭:不需要修改依赖父类中的函数
父类与子类的继承存在树状关系,最终都可追溯于object中。
由于python作为一门动态语言,使得继承不像静态语言一样是必须的