>백엔드 개발 >PHP 튜토리얼 >PHP에서 객체의 속성을 조작하는 방법

PHP에서 객체의 속성을 조작하는 방법

怪我咯
怪我咯원래의
2017-06-28 13:58:375991검색

Java에서는 객체 지향의 주요 속성 중 하나인 attributes를 캡슐화해야 합니다. Java에서 속성을 캡슐화한 후 각 속성에 대해 set 및 get 메서드를 설정할 수 있습니다. 원칙은 PHP에서 속성에 액세스하는 데 적용되지만 PHP에서 모든 객체를 설정할 필요는 없습니다. 기본적으로 get()set()이라는 마법의 메서드가 있어 비공개 속성에 쉽게 액세스할 수 있습니다. 다음:

class person{
private $name;//这是private类型的属性,我们直接使用对象->属性是访问不到的。我们需要添加魔术方法get()才可以访问
private $age;
private function  get($proname){//get方法是系统调用的,添加此魔术方法之后,我们直接对象->属性名获取值时,系统会自动地调用这个方法,但是我们必须添加参数,以及添加方法体。
return $this->$proname;
}
private function  set($proname,$value){//设置参数,我们需要设置两个参数
echo "set<br>";
$this->$proname=$value;
}
public function  construct($name,$age){
$this->name=$name;
$this->age=$age;
}
}

다음 사항에 주의하세요.

클래스 속성을 캡슐화한 후 속성을 비공개로 설정하면 직접: 개체->속성에 액세스할 수 없으므로 get() 메서드를 추가해야 합니다. 만 액세스할 수 있습니다

속성이 비공개로 설정된 경우에는 직접 개체->속성=값을 설정해야 합니다. 또한 속성에 액세스하려면 _set() 메서드를 추가해야 합니다.

구현:

private function  get($proname){
return $this->$proname;
}
private function  set($proname,$value){
$this->$proname=$value;
}

위 내용은 PHP에서 객체의 속성을 조작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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