<?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 */ ?> |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦