派生

#什么事派生?
#其实派生就是子类,如果在子类中有函数或者其他数据属性,且对象本身没有这些属性
#会优先去子类找也就是从派生类里去找
class Hero:
def __init__(self,Nikname, Life_value, Aggressivity):
self.Nikname = Nikname
self.Aggressivity = Aggressivity
self.Life_value = Life_value
def attack(self,enemy):
enemy.Life_value-=self.Aggressivity

class Ruiwen(Hero):
camd = 'demaciy'
def attack(self, enemy):
print('from Ruiwen is attack')
class Kelun(Hero):
camd = '猪圈'
pass
g = Ruiwen('大圣', 100, 30)
r = Kelun('猪八戒', 80, 50)
print(r.camd)
print(g.camd)
g.attack(r)
print(r.Life_value)
g.attack('33')
当然子类也可以添加自己新的属性或者在自己这里重新定义这些属性(不会影响到父类),需要注意的是,一旦重新定义了自己的属性且与父类重名,那么调用新增的属性时,就以自己为准了。
在子类中,新建的重名的函数属性,在编辑函数内功能的时候,有可能需要重用父类中重名的那个函数功能,应该是用调用普通函数的方式,即:类名.func(),此时就与调用普通函数无异了,因此即便是self参数也要为其传值

posted on 2019-01-07 20:44  别离  阅读(350)  评论(0编辑  收藏  举报

导航