在学习python中,在网上看了很久,这位 csdnzoutao 的博主总结的很到位
只使用了两句话:
方式一:指名道姓,即父类名.父类方法()
方式二:super()
方法一 : 子类中使用指名道姓方法,父类名.父类方法()
添加Aniaml父类
class Aniaml: #定义一个动物父类
def __init__(self,name): # 定义一个属性name
self.name = name
def walk(self): # 定义一个方法
print("走路")
添加Dog子类
class Dog(Aniaml):
def walk(self):
Aniaml.walk(self) # 使用指名道姓,即父类名.父类方法()调用
print("四条腿跑步")
def eat(self): # 子类新添加一个eat方法
print("吃饭饭")
方式二:super()
添加Aniaml父类:
class Aniaml: #定义一个动物父类
def __init__(self,name): # 定义一个属性name
self.name = name
def walk(self): # 定义一个方法
print("走路")
添加Dog子类:
class Dog(Aniaml):
# 第一种.super(子类类名,self).__init__(继承自父类的属性参数)
# 第二种 super().__init__(继承自父类的属性参数) # 推荐这种
# 第三种 父类名.__init__(self,继承自父类的属性参数) 不推荐
# 改写继承自父类的方法
# 子类方法名、参数应该和父类方法一样
def walk(self):
# super 可以调用继承自父类的同名方法
super().walk()
print("跑")
# 增加
def bark(self):
print("汪汪")
以上直接引用第二种方法super().init(继承自父类的属性参数),即可增添或改
总结:
方式一:指名道姓,即父类名.父类方法()
:单继承使用简单,多继承会不好理清
方式二:super()
:简单粗暴,知道自己要继承什么属性