コードをコピーする コードは次のとおりです:
//__set() メソッドはプライベートプロパティを設定するために使用されますpublic function __set($name,$value){
$this->$name = $ value;
}
//__get () メソッドはプライベート属性を取得するために使用されます
public function __get($name){
return $this->$name
}
class Person {
//以下は人物のメンバー属性です。カプセル化されたプライベート メンバーprivate $name; // 人の名前
private $sex; // 人の性別
private $age
//プライベート プロパティを取得するために __get() メソッドが使用されます
private function __get($ property_name)
{
echo "プライベート プロパティ値を直接取得する場合、__get() メソッドが自動的に呼び出されます
"; ->$property_name) ;
}
else
{
return(NULL);
}
}
//__set() メソッドはプライベート プロパティの設定に使用されます
private function __set($property_name, $value)
{ echo "プライベート プロパティを直接設定する 値が設定されると、__set() メソッドが自動的に呼び出され、プライベート プロパティに値が割り当てられます
";
$this->$property_name = $value; $p1=newPerson();
// プライベート属性に値を直接割り当てると、割り当てのために __set() メソッドが自動的に呼び出されます
$p1->name="张三"; Male";
$p1->age =20;
//プライベート属性の値を直接取得すると、__get() メソッドが自動的に呼び出され、メンバー属性の値が返されます
echo "Name:".$ p1->名前."
";
echo "性別:".$p1->性別"
";
echo "年齢:".$p1->age."< ;br>";
?>
プログラム実行結果:
プライベート属性の値を直接設定する場合、この__set()メソッドが自動的に呼び出され、プライベート属性に値が代入されます
プライベート属性の値を直接設定する場合、このメソッドは自動的に呼び出されます_ _set() メソッドはプライベート属性に値を割り当てます
プライベート属性の値を直接設定する場合、この __set() メソッドが自動的に呼び出され、プライベート属性に値を割り当てます
ときプライベート属性の値を直接取得する場合、このメソッドは自動的に呼び出されます_ _get() メソッド
名前: Zhang San
プライベート属性の値を直接取得する場合、このメソッドは自動的に呼び出されます
性別: 男性
プライベート属性値を直接取得する場合、この __get() メソッドが自動的に呼び出されます
年齢: 20 歳
上記のコードで __get() メソッドと __set() メソッドが追加されていない場合、プログラムはエラーになりますプライベート メンバーはクラスの外部で操作できないため、上記のコードは __get() メソッドと __set() メソッドを自動的に呼び出すことで、カプセル化されたプライベート メンバーに直接アクセスするのに役立ちます。
この記事は http://www.jb51.net/article/37900.htm からの転載です
上記では、PHP の __get と __set の詳細な使用例を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。