python类的继承是什么?一起来看看小编今天的分享吧。
python类的继承可以理解成类之间的父类和子类型关系,假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义。这样子类只需要继承基类(父类),子类就可以访问到基类(父类)的属性和方法了,它提高了代码的可扩展性和重用行。
如下定义一个动物类Animal为基类,它基本两个实例属性name和age、一个方法call。
python3中所有类都可以继承于object基类。
class Animal(object): def __init__(self, name, age): self.name = name self.age = age
def call(self): print(self.name, '会叫')
现在我们需要定义一个Cat 猫类继承于Animal,猫类比动物类多一个sex属性。
class Cat(Animal): def __init__(self,name,age,sex): super(Cat, self).__init__(name,age) self.sex=sex
不要忘记从Animal类引入属性。
if __name__ == '__main__': c = Cat('喵喵', 2, '男') c.call()
单模块被引用时下面代码不会受影响,用于调试,Cat继承了父类Animal的属性,输出 喵喵 会叫 ,Cat继承了父类Animal的方法。
注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父类,否则,继承自 Animal的 Cat子类将没有 name和age两个属性。函数super(Cat, self)将返回当前类继承的父类,即 Animal,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不能再写出self。
以上就是小编今天的分享了,希望可以帮助到大家。