공개, 비공개 및 보호를 액세스 수정자라고 합니다. C++와 마찬가지로 PHP에도 공개, 비공개, 보호라는 세 가지 액세스 수정자가 있습니다. 속성, 메서드 또는 상수의 가시성은 선언 앞에 이러한 키워드를 추가하여 정의할 수 있습니다.
1. 클래스 멤버가 공개로 선언되면 어디서나 액세스할 수 있습니다.
2. 클래스 멤버가 protected로 선언되면 클래스 자체와 상속 및 상위 클래스에서만 액세스할 수 있습니다.
3. 클래스 멤버가 비공개로 선언되면 해당 멤버가 정의된 클래스에서만 액세스할 수 있습니다.
public: 이 수정자는 내부 및 외부 모두에서 사용할 수 있습니다.
예:
<?php class pub { public $tag_line = "PHP中文网!"; function display() { echo $this->tag_line."<br/>"; } } class child extends pub { function show(){ echo $this->tag_line; } } $obj= new child; echo $obj->tag_line."<br/>"; $obj->display(); $obj->show();
출력:
PHP中文网! PHP中文网! PHP中文网!
protected: 이 수정자는 정의된 클래스와 해당 상위 클래스 또는 상속된 클래스에서 사용할 수 있습니다.
예:
<?php class pro { protected $x = 500; protected $y = 500; function sub() { echo $sum=$this->x-$this->y . "<br/>"; } } class child extends pro { function mul() { echo $sub=$this->x*$this->y; } } $obj= new child; $obj->sub(); $obj->mul(); ?>
출력:
0 250000
private: 이 수정자는 정의된 클래스에서 사용할 수 있습니다. (상속된 클래스를 의미하므로 클래스 외부에서는 접근할 수 없습니다.)
예:
<?php class demo { private $name="PHP中文网"; private function show() { echo "这是基(父)类的私有方法"; } } class child extends demo { function display() { echo $this->name; } } $obj= new child; $obj->show(); $obj->display();
출력: 프라이빗 클래스 데이터는 클래스 외부에서 접근할 수 없기 때문에 그림에 오류가 표시됩니다.
관련 권장 사항: "PHP Tutorial"http://www.php.cn/course/list/29.html
이 문서는 PHP의 공개, 비공개 및 보호의 차이점에 관한 것입니다. 도움이 되었으면 좋겠습니다. 도움이 필요한 사람들!
위 내용은 PHP에서 공개, 비공개, 보호의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!