1. 定义
继承是类之间共享功能的一种方式。当我们定义一个类(class)的时候,可以从某个现有的类继承。新的类称为子类(subclass),而被继承的类称为基类、父类或超类(base class、super class)。
2. 用法
2.1 直接继承
当一个类要从另一个类处继承功能时,只需要在定义类时将父类名放置在子类名后的括号里,这样子类就拥有父类的全部功能了。
输入:
class Animal:
def __init__(self,name,color):
self.name = name
self.color = color
class Dog(Animal):
def bark(self):
print("Woof")
a_dog = Dog("Nemo","black")
print(a_dog.color)
a_dog.bark()
输出:
black
Woof
当子类和父类存在相同的方法时(即父类被子类覆写了),在代码运行的时候,总是会调用子类的方法。
2.2 间接继承
如果一个类(A)继承了类(B),类(B)又继承了类(C)。那么,类A也获得了C的所有功能。也就是说,继承是有单向传递性的。需要注意的是,在继承中是不可以存在循环的。比如这个举例里类C就不能再去继承类A或者类B了。
2.3 多重继承和super
funhacks写得挺好的。转过来整理到一起:
原文链接:https://segmentfault.com/a/1190000007426467