浅谈Python继承
转载至:https://mp.weixin.qq.com/s/U33cfytjl_BvoOtkbOIANQ
大家都熟知python是一门面向对象的编程语言,那面向对象的三大特征是哪三大特征呢?
今天我们就带大家认识一下,面向对象的三大特征之一:继承
概念:
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为,做个比喻就是爸爸与儿子的关系。
被继承的类称为“基类”、“父类”或“超类”,继承父类的类叫“子类”、“派生类”。
意义:
假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义。这样子类只需要继承基类(父类),子类就可以访问到基类(父类)的属性和方法了,它提高了代码的可扩展性和重用行。
语法:
-
父类名.父类方法(self)
-
super(子类名,self).父类方法()
-
super().父类方法() #只在python3可用
实例:
#super(子类类名,self).父类方法名() class Anamail(): def call(self): print("汪汪汪...") class Dog(Anamail): def __init__(self, food): self.food = food def eat(self): super(Dog, self).call() return f"我在吃{self.food}" print(Dog("骨头").eat()) 执行结果: 汪汪汪... 我在吃骨头 #super().父类方法名() class Anamail(): def call(self): print("汪汪汪...") class Dog(Anamail): def __init__(self, food): self.food = food def eat(self): super().call() return f"我在吃{self.food}" print(Dog("骨头").eat()) 执行结果: 汪汪汪... 我在吃骨头 #父类名称.父类方法名() class Anamail(): def call(self): print("汪汪汪...") class Dog(Anamail): def __init__(self, food): self.food = food def eat(self): Anamail.call(self) return f"我在吃{self.food}" print(Dog("骨头").eat()) 执行结果: 汪汪汪... 我在吃骨头