Python方法与属性重写
来自CloudWiki
属性方法的继承
属性和方法的重写:
如果一个基类中有一个实例方法,在继承类中也可以重新定义完全一样的实例方法,例如Person有show方法,在Student中也有一样的show方法,它们是不会混淆的,我们称Student类的show重写了Person的show。
当然一个基类的实例方法也可以不被重写,派生类会继承这个基类的实例方法。派生类也可以增加自己的新实例方法。
class Person: className="Person" def __init__(self,name,gender,age): self.name=name self.gender=gender self.age=age def show(self,end='\n'): print(self.name,self.gender,self.age,end=end)
class Student(Person): className="Student" def __init__(self,name,gender,age,major,dept): Person.__init__(self,name,gender,age) self.major=major self.dept=dept def show(self): Person.show(self,' ') print(self.major,self.dept)
s=Student("A","male",20,"software","computer") s.show() print(Student.className)
结果:
A male 20 software computer Person Person Person