강의로 돌아가기

dog class는 지우지 않았습니다.

지우지 않고 dog = Dog()를 실행시키니 초기화에 매개변수 name이 없다는 에러표시가 있었습니다. 상속을 받을 때, 부모 클래스의 초기화메소드에 있는 매개변수를 포함시켜야하나요?
혹시 몰라 코드 올려두겠습니다.

class Animal():
def init(self,name):
self.name = name
def walk(self):
print(걷는다.)
def eat(self):
print(먹는다.)
def greet(self):
print({}이/가 인사한다..format(self.name))

class Human(Animal):
def init(self, name, hand):
super().init(name)
self.hand = hand
def wave(self):
print(손을 흔들며)
def greet(self):
self.wave()
super().greet()

class Dog(Animal):
def wag(self):
print(꼬리를 흔든다.)
def greet(self):
self.wag()

person = Human(사람, 오른손)
person.greet()

dog = Dog()
dog.greet()

1 개의 답변
이해원

class Dog(Animal):
에서 Dog를 Animal로부터 상속을 받았기 때문에 부모 클래스의 초기화메소드에 있는 매개변수를 넣어야됩니다.
dog = Dog(dog name) 같이 말입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.