<?php header("Content-type: text/html; charset=utf-8"); class person{ //成员属性 private $name; private $age = 20; //成员方法 function username($name){ return $this->name=$name; } //__set()方法用来设置私有属性 function __set($property_name, $value) { echo "在类外直接为私有属性赋值的时候,自动调用了这个 __set() 方法<br />"; $this->$property_name = $value; } //__get()方法用来获取私有属性 function __get($property_name) { echo "在类外直接获取私有属性值的时候,自动调用了这个 __get() 方法<br />"; } } $obj= new person(); echo $obj->username("张三"); echo "<hr/>"; $obj->name = "李四";//在直接设置私有属性值的时候,自动调用了这个 __set() 方法为私有属性赋值 echo "<hr/>"; echo $obj->age;//在直接获取私有属性值的时候,自动调用了这个 __get() 方法,不设置get特殊方法就会报下面的错 //echo $obj->age;//当成员属性或者方法前有private修饰,不能在类外访问。否则报错如下 /* Fatal error: Cannot access private property person::$age in D:\wamp\www\ajax\index.php on line 23 */ ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。