>  기사  >  백엔드 개발  >  PHP 구성 방법의 상속에서 소멸자 방법의 성능에 대한 자세한 그래픽 설명

PHP 구성 방법의 상속에서 소멸자 방법의 성능에 대한 자세한 그래픽 설명

墨辰丷
墨辰丷원래의
2018-06-04 09:12:001519검색

이 글은 주로 PHP 생성 메소드의 상속에서 소멸자 메소드의 성능을 자세히 소개합니다. 관심있는 친구들은 참고하세요

하위 클래스에 정의된 생성 메소드가 없으면 상위 클래스의 생성이 자동으로 호출됩니다. . 방법. 따라서 하위 클래스를 인스턴스화할 때는 상위 클래스의 생성자 메서드를 따라야 합니다.

수정됨:

하위 클래스가 자체 생성자를 정의하는 경우 상위 클래스의 생성자는 자동으로 호출되지 않지만 수동으로 호출할 수 있습니다. parent::__construct();

그러나 일반적으로 하위 클래스의 생성자에서는 코드를 절약하고 가독성을 높이기 위해 상위 클래스의 생성자를 호출해야 하는 경우가 많습니다.

하위 클래스에 소멸자 메서드가 정의되지 않은 경우, 상위 클래스의 소멸자 메서드가 자동으로 호출됩니다. 하위 클래스가 자체 소멸자 메서드를 정의하는 경우 상위 클래스의 소멸자 메서드는 자동으로 호출되지 않지만 수동으로 호출할 수 있습니다. parent::__destruct(). Override

Override는 덮어쓰기라고도 하는데, 이는 상위 클래스에서 상속된 속성이나 메서드를 다시 정의하는 것, 즉 처음부터 작성하는 것을 의미합니다.

그러나 참고: 하위 클래스는 상위 클래스의 메서드를 재정의합니다. 특정 작업을 완료하기 위해 상위 클래스와 동일한 이름의 메서드를 호출할 수 있지만 반드시 그럴 필요는 없습니다. 부모 클래스의 메서드 실행 결과가 하위 클래스에 적합하지 않을 수도 있으며, 이 경우 하위 클래스가 완전히 자체적으로 작성하게 됩니다.

재작성을 위한 기본 요구 사항:

액세스 제어 권한: 하위의 액세스 제어 권한은 상위의 액세스 제어 권한보다 낮아야 합니다. Superior: public Subordinate: only public Superior: protected Subordinate: protected, public Superior: private Subordinate: private protected 공개 - 사실 이 사건은 의미가 없습니다. 비공개 항목은 덮어쓸 수 없지만 완전히 새로운 항목으로 처리됩니다.

메서드의 매개변수 형식은 상위 클래스와 일치해야 합니다.

전용 속성 및 전용 메서드 재정의 관련 문제: 전용 속성 및 메서드는 재정의될 수 없지만 실제로 하위 클래스는 상위 클래스에 전용인 동일한 이름을 가진 속성 또는 메서드를 정의할 수 있습니다. 그냥 새로운 속성이나 자체 메소드로 취급하면 됩니다. 그러나 메소드의 매개변수는 일관되어야 합니다. 생성자 메서드 재작성 문제: 생성자 메서드는 다른 일반 메서드처럼 다시 작성할 수 있을 뿐만 아니라 일반 메서드보다 더 편안합니다. 재정의할 때 매개 변수가 일관되지 않을 수 있습니다.

최종 클래스:

일반적으로 클래스가 구체적으로 선언되지 않은 경우 "다른 사람"이 해당 클래스를 가져와 사용하고 "확장"할 수 있습니다(상속).

단:

수업 연장을 원하지 않는 경우 "최종수업"으로 선언할 수 있습니다.

양식:

최종수업 수업명 {. . . . 클래스 정의. . . . }

최종 메소드 final method

보통 메소드가 특별히 선언되지 않으면 하위 클래스가 이를 "오버라이드"(override)할 수 있습니다.

그러나:

메서드가 하위 클래스에 의해 재정의되기를 원하지 않는 경우 "최종 메서드"로 지정할 수 있습니다.

양식:

최종 함수 메서드 이름(){. . . . 방법 정의. . . . }

요약: 위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되기를 바랍니다. Related 권장 사항 : PHP에 대한 PHP에 대한 PHP를위한 PHP 방법의 수술 경로 및 디렉토리를 얻기위한 PHP를 통한 다양한 방법의 다양한 방법에 대한 요약


위 내용은 PHP 구성 방법의 상속에서 소멸자 방법의 성능에 대한 자세한 그래픽 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.