많은 것들이 누락되었지만 도와 드리겠습니다!
__init__
함수는 아무 것도하지 않습니다. 기본 통계를 알려 드리겠습니다. 나는 Player
의 기본 속도와 상태가 각각 10과 100이라고 말할 것이다. 그런 다음 Berserker
서브 클래스을 Player
으로 만들 것입니다. 마지막으로 Player
에 값에 대한 문자열 형식의 출력을 얻을 수있는 메서드를 제공 할 것입니다.
첫째, 새로운 Player
다음 Berserker
이제
class Player:
def __init__(self, speed=10, health=100):
self.speed = speed
self.health = health
def __str__(self):
return "A player with speed {} and health {}.".format(self.speed, self.health)
합니다. 나는 그것을 85의베이스 (15)의 속도와 건강을 줄 것이다 (물론 세부 사항은 당신에게 달려있다!)
class Berserker(Player):
def __init__(self):
super().__init__(speed=15, health=85)
마지막으로, 우리는이를 만들고 값을 인쇄 할 수 있습니다. 몇 가지 다른 버전을 만들어서 어떻게 작동하는지 볼 수 있습니다. (그리고 이것을 위해 일반 파이썬 인터프리터를 사용합니다).
>>> p1 = Player()
>>> p2 = Player(7, 120)
>>> b = Berserker()
>>> print(p1)
A player with speed 10 and health 100.
>>> print(p2)
A player with speed 7 and health 120.
>>> print(b)
A player with speed 15 and health 85.
이렇게하면 시작할 수 있기를 바랍니다.
'__init__'은 뭐든지. 또한 클래스를 인스턴스화하려고 할 때'AttributeError'를 던질 것입니다. 기본 파이썬 튜토리얼을 시작한 다음 OOP로 이동해야합니다. –
그리고'Berserker' 메쏘드는 클래스에 들여 쓰기가 적절하지 않으므로 인스턴스 메쏘드처럼 다루어지는 것이 아니라 함수입니다. – idjaw
berserker가 하위 클래스 또는 사람의 인스턴스가되는 것을 의미합니까? 왜냐하면 그건 당신이 쓴 것이 전부가 아니기 때문입니다. – jonrsharpe