您的位置:首页 > 编程语言 > Python开发

使用super()继承 分类: python 小练习 2013-09-18 14:13 320人阅读 评论(0) 收藏

2013-09-18 14:13 866 查看
__metaclass__=type #定义使用新式类

class Bird:

def __init__(self):

self.hungry = True #父类中的属性hungry

def eat(self):

if self.hungry:

print 'Ha...Ha'

self.hungry=False

else:

print 'No,Thanks'

class Pets:

def __init__(self):

self.name='pets'

def eat(self):

print 'I can eat plant'

class songBird(Pets,Bird):

def __init__(self,name='k-bird'):

super(songBird,self).__init__() #使用super进行继承

self.name = name

def song(self):

self.eat() # 先吃饭,再唱歌,无可厚非......哈哈。高兴的别太早,注意此处是调用Pets类中的eat()方法

print 'Hello,everyone, I am %s,Do I sing well?' % self.name

sb=songBird('Penguis')

sb.song()

继承多个父类中的同一个方法(如调用Bird类、Pets类中共同的eat方法),则根据类名顺序调用第一个类中的方法。如果是class songBird(Pets,Bird),则songBird类中调用eat方法,调用的是Pets类中的eat方法;如果class songBird(Bird,Pets),则songBird类中调用eat方法,调用的是Bird类中的eat方法。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐