php5 oop에서 클래스의 변수 정의는 액세스 제어를 따릅니다. 즉,
public은 전역을 의미하고 클래스 내부 및 외부의 하위 클래스에서 액세스할 수 있습니다.
private은 private을 의미하며 이 클래스 내에서만 사용할 수 있습니다
. 이 클래스만 또는 하위 클래스나 상위 클래스에서 액세스할 수 있습니다.
<?php
클래스 BaseClass {
공개 $공개 = '공개';
개인 $개인 = '개인';
보호된 $보호됨 = '보호됨'
함수 __construct(){
}
함수 print_var(){
인쇄 $this->public;echo '<br />';
$this->private을 인쇄하세요. echo '<br />';
$this->보호됨을 인쇄합니다. echo '<br />';
}
}
클래스 하위 클래스 확장 BaseClass {
// public $public = 'public2';
보호됨 $보호됨 ='보호됨2';
함수 __construct(){
echo $this->protected;//클래스가 protected로 정의되어 있으므로 접근 가능하므로 이 클래스나 하위 클래스에 있을 수 있고 하위 클래스에서 값이 반복될 수 있습니다.
에코 '<br />';
echo $this->private;//오류입니다. 비공개이고 정의된 클래스 기본 클래스에서만 사용할 수 있기 때문입니다.
}
}
$obj1 = 새로운 BaseClass();
$obj1->print_var();
//echo $obj1->protected;//error 보호되어 있으므로 이 클래스 내에서나 하위 클래스 및 상위 클래스에서만 호출할 수 있습니다.
//echo $obj1->private;//위와 같이 개인 오류가 발생했으며 이 클래스 내에서만 호출할 수 있습니다.
에코 $obj1->공개;
에코 "<시간 />";
$obj2 = 새로운 하위클래스();
에코 '<br />';
echo $obj2->public;echo '<br />';
에코 $obj2->보호됨;
//echo $obj2->private;//오류
//echo $obj2->보호됨;
?>