一、super函数
super()这个方法可以用来解决子类中调用父类同名构造方法。Python版本过渡,在2.x版本中往往写成super(所在类的类名,self)这种形式,而在3.x版本开始后,就直接可以简写为super()来直接调用父类中的构造方法。通过实际测试,我们知道:1. super方法可以用在类中的任意的函数中,去调用父类中的方法。2. super方法也可以调用超类中的方法。
二、超类知识
Student类是person类的子类,RunStudent是student类的子类,那么我们可以称runstudent类是person类的超类。
三、总结强调
1.掌握super方法在两种不同的Python版本中的不同的写法。
2.掌握super方法可以调用类和超类中的所有的同名方法。
3.掌握super方法调用类中同名函数时的方法调用顺序,默认是优先调用父类中的同名方法。
本节源代码:
class Person: def __init__(self): print("出生时会啼哭面向世界!") def say(self): print("我是Person") def walk(self): print("初始化人的走路功能") class Student(Person): def __init__(self,name): super().__init__() self.name=name def getName(self): return self.name def say(self): super(Student,self).say() print("我是中国学生") def walk(self): print("我是student的walk") class RunStudent(Student): def walk(self): super().walk() print("我可以快走啦!") stu=Student("老刘") print(stu.getName()) stu.say() #调用父类的父类中的方法 runStu=RunStudent("刘金玉编程") runStu.walk()