자식 클래스가 생성자를 정의하는 경우 부모 생성자는 암시 적으로 호출되지 않습니다. 부모 생성자를 실행 하려면 자식 생성자 내에서 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 |