面向对象的三大特性之一【封装】

本文深入探讨了PHP类中私有属性的封装机制及其通过魔术方法实现对外部访问的方法,详细解释了如何在不违反封装原则的情况下,让外部对象间接访问私有属性。

类的成员属性可以封装,成员方法也可以封装,所谓封装就是用private关键词来修饰属性和方法,被封装后的属性和方法就变为私有属性和私有方法,这样的私有属性和方法不能被外部对象直接访问和使用,只能在类的内部使用,也就是说只能用$this访问到,私有方法供内部的其他方法调用,如果想让外部new出来的对象可以访问私有属性,可以在类里声明一个公共方法,一般不需要自己声明,可以用魔术方法__set和__get做到,魔术方法在需要的时候会自动调用,魔术方法都有由两个下划线组成的前缀。看下面的例子

class Person{

  private $name;

  private $sex ="保密";

  function __get($proName){

    return $this->$proName;

}

}

 

$p= new Person;

echo $p->sex;

转载于:https://www.cnblogs.com/toward-the-sun/p/3918200.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值