Python Language
메서드 재정의
수색…
기본 메소드 재정의
다음은 Python에서 기본 재정의의 예입니다 (Python 2와 Python 3와의 명확성 및 호환성을 위해 새로운 스타일 클래스를 사용 하고 print
with ()
).
class Parent(object):
def introduce(self):
print("Hello!")
def print_name(self):
print("Parent")
class Child(Parent):
def print_name(self):
print("Child")
p = Parent()
c = Child()
p.introduce()
p.print_name()
c.introduce()
c.print_name()
$ python basic_override.py
Hello!
Parent
Hello!
Child
Child
클래스가 생성되면 Parent
클래스의 메서드를 상속합니다. 즉, 부모 클래스에있는 모든 메서드에 자식 클래스도 있습니다. 예에서 introduce
에 대해 정의 된 Child
이 정의되어 있기 때문에 클래스 Parent
의 클래스 정의에 명시 적으로 정의되지에도 불구하고, Child
.
이 예제에서는 Child
가 자체 print_name
메서드를 정의 할 때 재정의가 발생합니다. 이 메소드가 선언되어 있지 않은 경우, c.print_name()
는 "Parent"
인쇄합니다. 그러나 Child
오버라이드 (override) 한 Parent
의의 정의 print_name
호출에 그래서 지금, 그리고 c.print_name()
, 단어 "Child"
인쇄되어 있습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow