다형성(Polymorphism)에 관해 다형성은 위의 두 가지 방법을 조합한 것으로, 다형성을 통해 다양한 프로그램을 작성할 수 있습니다.
아래 그림을보십시오 :
다형성은 메서드가 상위 클래스 와 하위 클래스 에서 서로 다른 방식으로 사용될 수 있고 별도로 호출될 수 있음을 의미합니다.
다음 예를 살펴보십시오.
classBase:def__init__(self,name):self.name=nameprint('%s는 읽을 수 있습니다.'%self.name)defreading(self):print('%s는 중국 책을 읽고 있습니다.'%self.name)classInherit_One(Base ): defreading(self):print('%s 영어 책 읽기'%self.name)classInherit_Two(Base):defreading(self):print('%s 님은 만화책을 읽고 있습니다'%self.name)a=Base('a')a.reading()b =Inherit_One ('b')b.reading()c=Inherit_Two('c')c.reading()
출력은 다음과 같습니다
a는 읽을 수 있습니다 a는 중국어 책을 읽습니다 b는 읽을 수 있습니다 b는 영어 책을 읽습니다 c는 읽을 수 있습니다 c는 만화책을 읽습니다
각 상속자가 읽기 메서드를 재정의한 다음 이 메서드를 호출할 때 서로 다른 클래스를 통해 호출하는 것을 볼 수 있습니다. 이 메서드는 서로 다른 클래스에서 동일한 이름을 가진 서로 다른 메서드를 정의하는 데 도움이 될 수 있습니다. 현실의 다양한 관리 시스템은 종종 다형성의 사용과 분리될 수 없습니다.
이 섹션을 공부한 후에는 모두가 상속 및 재작성 방법을 깨달았을 것입니다. 다형성에 관해서는 좀 더 추상적인 객체지향 문제에서 연습하고 숙달해야 하지만 익히는 것은 그리 어렵지 않습니다.