9.3.4 重写父类的方法

对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名。这样,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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 让一个类继承另一个类后,可添加区分子类和父类所需的新属性和方法。 小狗类加了cry这个方法。 #!/usr/bin...
    python大大阅读 3,411评论 0 0
  • 创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。为此,子类的方法__init__()需要父...
    python大大阅读 1,599评论 0 2
  • 9.类 基本概念———初探类与对象 “什么是人类”、“什么是狗”、“汽车又是什么”……面对这些问题,我们大多数人会...
    TianAff阅读 3,838评论 1 5
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 6,846评论 1 6
  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 3,627评论 0 0