자식 클래스가 생성자를 정의하는 경우 부모 생성자는 암시 적으로 호출되지 않습니다. 부모 생성자를 실행 하려면 자식 생성자 내에서 parent :: __ construct ()를 호출 해야합니다. 자식이 생성자를 정의하지 않으면 일반 클래스 메서드처럼 (비공개로 선언되지 않은 경우) 부모 클래스에서 상속 될 수 있습니다.
<? class ParentClass { function __construct() { echo "In ParentClass constructor<br>"; } } class ChildClass extends ParentClass { function __construct() { parent::__construct(); echo "In ChildClass constructor<br>"; } } class OtherChildClass extends ParentClass { // inherits ParentClass's constructor } // In ParentClass constructor $obj = new ParentClass(); // In ParentClass constructor // In ChildClass constructor $obj = new ChildClass(); // In ParentClass constructor $obj = new OtherChildClass(); ?>
728x90
'PHP 주요레퍼런스 > 객체지향 프로그래밍' 카테고리의 다른 글
__set / __get 메소드 (0) | 2011.10.24 |
---|---|
소멸자 __destruct() (0) | 2011.10.24 |
생성자 __constructor() (0) | 2011.10.24 |
$this 참조 (0) | 2011.10.24 |
멤버 접근 제한자 (0) | 2011.10.24 |