나는이 질문이 무의미 할 수도 있음을 알고있다. 그러나 내가 왜 그렇게 할 수 있는지에 대한 이유가있다. 난 내가 use_spell()
의 부모 방법에 복제 좋아하지 않을 class B
의 use_attack()
방법 코드의 무리가 super()
부모 클래스 메서드 내에서 Child 클래스 메서드를 호출하려면 어떻게해야합니까?
class A(object):
def use_attack(self, damage, passive, spells):
#do stuff with passed parameters
#return something
def use_spell(self, name , enemy_hp):
#other code
if name == 'Enrage':
#call child method use_attack right here
class B(A):
def use_attack(self):
#bunch of code here
return super(B, self).use_attack(damage, passive, spells)
def use_spell(self, name , enemy_hp):
return super(B , self).use_attack(name ,enemy_hp)
b = B()
b.use_spell('Enrage', 100)
정반대 뭔가를 호출합니다.
표시된 줄에 자식 메서드 use_attack()
을 호출하고 싶습니다.
방금 완전히 새로운 수준의 수업을 생각하게 만들었습니다. 나는 지금까지 상속을 이해했다고 생각하지 않는다. 도와 줘서 고마워! – Loupi
굉장! OOP는 당신이 그 초기 통찰력을 얻을 때 정말 재미 있습니다. 다행히 도울 수 있었고 여기에는 더 많은 것이 있습니다. :) –