클래스 상속 예제

네이티브 프로토타입 장에서 기억할 수 있듯이 JavaScript는 빌드인 개체에 동일한 프로토티팔 상속을 사용합니다. 예: 날짜.프로토타입. [프로토타입]은 Object.prototype이므로 날짜에는 일반 개체 메서드가 있습니다. 산호 클래스에는 한 줄을 인쇄하는 커뮤니티()라는 메서드가 있으며 Anemone 클래스에는 다른 줄을 인쇄하는 protect_clownfish()라는 메서드가 있습니다. 그런 다음 두 클래스를 상속 튜플로 호출합니다. 이것은 산호가 두 부모 클래스에서 상속된다는 것을 의미합니다. Personal_account 및 Business_account 하위 클래스가 있는 일반 Bank_account 상위 클래스가 있다고 가정해 보겠습니다. 개인 계좌와 비즈니스 계정 간의 많은 방법은 돈을 인출하고 입금하는 방법과 유사하므로 Bank_account의 부모 클래스에 속할 수 있습니다. Business_account 하위 클래스에는 비즈니스 레코드 및 양식을 수집하는 방법과 employee_identification_number 변수를 포함하여 해당 와 관련된 메서드가 있습니다. 일부 언어는 다른 구문의 상속도 지원합니다.

예를 들어, 에펠에서 클래스의 사양을 정의하는 계약은 상속인에 의해 상속됩니다. 수퍼 클래스는 특수 하위 클래스가 상속, 수정 및 보완할 수 있는 공통 인터페이스 및 기본 기능을 설정합니다. 하위 클래스에서 상속된 소프트웨어는 하위 클래스에서 다시 사용되는 것으로 간주됩니다. 클래스의 인스턴스에 대한 참조는 실제로 해당 하위 클래스 중 하나를 참조할 수 있습니다. 참조되는 개체의 실제 클래스는 컴파일 타임에 예측할 수 없습니다. 균일한 인터페이스는 여러 다른 클래스의 개체의 멤버 함수를 호출하는 데 사용됩니다. 하위 클래스는 수퍼클래스 함수를 동일한 메서드 서명을 공유해야 하는 완전히 새로운 함수로 대체할 수 있습니다. 대수 표현식의 계층 구조는 어떻습니까? 상속과 구성을 모두 사용하기 때문에 훌륭한 예입니다: 이제 Fish 부모 클래스의 swim() 메서드를 계속 사용하는 Shark 자식 클래스의 인스턴스를 만들 수 있습니다. `) 및 모든 기본 클래스에 대 한 액세스 모드를 지정 해야 합니다.

지금, 내 경험에서, 우리는 또한 정책을 적용 하는 상속을 사용할 수 있습니다 (일반적으로 제한). 예를 들어 색상 속성과 해당 setter(setColor)가 있는 Shape 클래스가 있다고 가정합니다. 출력은 클라운피쉬 오브젝트 케이시가 fish 메서드 __init__() 및 swim() 및 live_with_anemone()의 자식 클래스 메서드를 사용할 수 있음을 보여 주며, 여러 상속을 사용하면 자식 클래스에서 두 개 이상의 상위 클래스의 코드를 사용할 수 있습니다. 동일한 메서드가 여러 상위 메서드에서 정의된 경우 자식 클래스는 튜플 목록에 선언된 첫 번째 상위 메서드를 사용합니다.

ΚατηγορίεςΧωρίς κατηγορία