重写、调用父类方法:所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法
在python中继承中的一些特点:
1:在继承中基类的构造(init()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用
2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
3:Python总是首先查找对应类型的方法,如果它不能在派生类(子类即当前类)中找到对应的方法,它才开始到基类(父类)中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)
4:由上面的关系,可以进行方法的重写,在子类中重写父类方法
实例:class Parent:
“父类”
parentAttr = 100
def init(self):
print “调用父类构造函数”
def parentMethod(self):
print '调用父类方法'
def setAttr(self, attr):
Parent.parentAttr = attr
def getAttr(self):
print "父类属性 :", Parent.parentAttr
class Child(Parent):
“定义子类”
def init(self):
print “调用子类构造方法”
def childMethod(self):
print '调用子类方法 child method'
#在子类中调用父类方法
print Parent.getAttr(self)
c = Child() # 实例化子类
c.childMethod() # 调用子类的方法
c.parentMethod() # 调用父类方法
c.setAttr(200) # 再次调用父类的方法
c.getAttr() # 再次调用父类的方法