<?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
*/
?>
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。