继承父类,调用父类中的方法 分类: python 小练习 python基础学习 2014-01-10 17:54 325人阅读 评论(0) 收藏

定义的类与基类可以可以放在不同的模块,例如:

定义类 DerivedClassName,继承modname模块中的BaseClassName类
class DerivedClassName(modname.BaseClassName):


派生类定义的执行过程和基类是一样的。构造派生类对象时,就记住了基类。这在解析属性引用的时候尤其有用:如果在类中找不到请求调用的属性,就搜索基类。如果基类是由别的类派生而来,这个规则会递归的应用上去。


方法引用按如下规则解析:搜索对应的类属性,必要时沿基类链逐级搜索,如果找到了函数对象这个方法引用就是合法的。


例子中包括personel.py、little.py  两个模块,在little.py模块中没有young方法,而父类person中有该方法,则python会搜索父类中的方法,并调用该方法。


personel.py

#coding:utf-8

class person:
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def young(self,food="milk"):
        print 'I am young,i wanna drink %s' % food
    def adult(self):
        print 'I will on a trip,will you follow me?'

little.py

#coding:utf-8

from personel import person

class baby(person):
    def __init__(self,birth,name,age):
        self.birth = birth
        person.__init__(self,name,age)

    def drinking(self):
        self.young("juice")
        print "I need some pies,too"

    def party(self):
        print "my birth day %s is on the way,welcome to my party" % self.birth

if __name__=="__main__":
    bb = baby("February",'little sam',2)
    bb.drinking()
    bb.party()


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-01-10 17:54  前行者2011  阅读(134)  评论(0编辑  收藏  举报