对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名。这样,Python将不会考虑这
个父类方法,而只关注你在子类中定义的相应方法。
![](https://img.haomeiwen.com/i6313830/719594ec8a5523d1.png)
#!/usr/bin/python
# -- coding: utf-8 --
class dog( ):
def __init__(self,name,age):
self.name=name
self.age=age
def change_name(self,name):
self.name=name
def increment_age(self,age):
if self.age<14:
self.age=self.age+age
else:
print "dog didn't live long"
class little_dog(dog):
def __init__(self,name,age):
"""
little dog的独特之处 初始化父类的属性,再初始化littledog特有的属性 """
dog.__init__(self,name,age)
self.dog_papa = "dog father"
def cry(self):
print "Wang!Wang!"
def increment_age(self,age):
if self.age + age > 4:
print "become big dog"
self.age=self.age +age
dg=little_dog("dido",4)
print dg.name,dg.dog_papa
dg.cry()
dg.increment_age(4)
网友评论