9.3.4 重写父类的方法

2017-09-20  本文已影响0人  python大大

对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名。这样,Python将不会考虑这

个父类方法,而只关注你在子类中定义的相应方法。

#!/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)

上一篇 下一篇

猜你喜欢

热点阅读