• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

2:20~2:30 질문입니다.

20.12.13 11:40 작성 조회수 131

0

안녕하세요 먼저 유읙한 강의 감사합니다.

강의를 듣는중 플라이어택유닛 클래스에서 "어택유닛"과 "플라이어블" 클래스를 상속 받았는데

다음에 __init__ 부분에서 상속받은 클래스들의 변수를 다적어줘야하는게 아닌가요??

speed= 0 을 밑에 어택유닛에만 적었는데,

그위에는 왜 안적어 주는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

답변이 늦어 대단히 죄송합니다.

0 은 지상스피드인 부분으로 날아다니는 유닛에는 의미가 없는 값입니다. 

그래서 공중유닛은 생성할 때 지상 스피드를 받지 않도록 하기 위해서 __init__ 에는 speed 가 없답니다.

대신 AttackUnit 을 상속받고 있으며 AttackUnit 에는 초기화를 할 때 speed 를 필요로 하므로 임의로 0 이라는 값을 넣어주기 위해 AttackUnit.__init__ 에는 0 을 넣어주는 것이랍니다.

FlyableAttackUnit 의 __init__ 에는 AttackUnit 상관 없이 아무 값이나 받을 수 있습니다.