27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
PHP的访问修饰符是用来控制成员的访问权限的
一共有三种访问修饰符public private protected
修饰符 | 描述 |
public(公有的) | 在类的内部和外部都能访问 |
private(私有的) | 只能在类的内部访问 |
protected(受保护的) | 在整个继承链上访问 |
一般来说,属性都用私有的,通过公有的方法对私有的属性进行赋值和取值。
作用:保证数据的合法性;外面(实例对象)不可修改
class Human { public $money = 1000; }$lisi = new Human(); echo $lisi->money, //改变一下 money$lisi->money = 500; echo $lisi->money,
在现实中,别人把你的钱减少了,显然是不合理的,属性要私有
案例:
<?php //访问修饰符 class Student { private $name; //私有属性 private $sex; //私有属性 //通过公有的方法对私有的属性进行赋值 public function setInfo($name,$sex) { if($sex!='男' && $sex!='女'){ echo '性别必须是男或女'; exit; } $this->name=$name; //$this表示当前对象 $this->sex=$sex; } //显示信息 public function getInfo() { echo '姓名:'.$this->name,'<br>'; echo '性别:'.$this->sex,'<br>'; } } //实例化 $stu=new Student; $stu->setInfo('tom','男'); $stu->getInfo(); echo '<hr>'; $stu2=new Student; $stu2->setInfo('berry','女'); $stu2->getInfo();
提示:$this表示调用当前方法的对象
实际应用中,经常会把类的属性设置为私有(private),那么需要对属性进行访问时,就会变得麻烦。虽然可以将对属性的访问写成一个方法来实现,但 PHP 提供了一些特殊方法来方便此类操作。
1. __set() 方法用于设置私有属性值。
2. __get() 方法用于获取私有属性值。
3. __isset() 方法用于检测私有属性值是否被设定。
4. __unset() 方法用于删除私有属性。
本站内容均为小米原创,转载请注明出处:小米技术社区>> PHP的访问修饰符;public,private,protected修饰符