강의로 돌아가기
Seokhwan YI

override가 안됬다고 합니다.

class Car():

    def run(self):
        print("차가 달립니다.")


class Truck(Car):

    def load(self):
        print("짐을 실었습니다.")
    # 이 아래에서 run 메소드를 오버라이드 하세요.
    def t_run(self):
        print("트럭이 달립니다")
    def run(self):
        self.t_run()


truck = Truck()
truck.run()
작성중인 코드―override1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Car():

    def run(self):
        print("차가 달립니다.")


class Truck(Car):

    def load(self):
        print("짐을 실었습니다.")
    # 이 아래에서 run 메소드를 오버라이드 하세요.
    def t_run(self):
        print("트럭이 달립니다")
    def run(self):
        self.t_run()


truck = Truck()
truck.run()
2 개의 답변
프로그래머스

트럭이 달립니다 가 아니라 트럭이 달립니다.(온점 추가) 로 제출해보세요.

-

class Car():

def run(self):
    print("차가 달립니다.")

class Truck(Car):

def load(self):
    print("짐을 실었습니다.")
# 이 아래에서 run 메소드를 오버라이드 하세요.

truck = Truck()
truck.name=트럭
truck.run()
print({}이 달립니다.format(truck.name))

순수하게 override되는 것을 지향했다면, truck이 truck.run()으로 표기 되는 게 맞는데
mother class에 print문이 존재하여,
mother class의 프린트 문을 삭제하지 않고는 트럭이 달립니다.만을 나타낼수 없지 않나요?

  • -

    class Car(): def run(self): print("차가 달립니다.") class Truck(Car): def load(self): print("짐을 실었습니다.") # 이 아래에서 run 메소드를 오버라이드 하세요. truck = Truck() truck.name="트럭" truck.run() print("{}이 달립니다".format(truck.name))

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