在php中,php类的封装是属于重要的内容也是属于比较难以理解的部分,在学习php类的封装之前,我们需要去了解public、protected与private修饰符,所以,在接下来的内容中,让我们具体来解析这部分的内容吧。
public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。
protected:方法或者属性只能从类或者继承类的一个成员中访问到。
private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。
这三个修饰符从作用范围上来讲应该像这样从大到小排序:
public→protected→private之所以说是在作用范围上是因为类跟我们之前的函数一样,把一些属性和方法进行了PHP类的封装。这个封装就决定了数据的“可见性”了,这样我们在类的外面不能够随意修改所定义的属性和方法而只能够进行调用,这就是封装的好处,同时也提高了安全性。为了说明这几个修饰符的作用,请看如下代码:
< ?php class myClass{ public $public="Public"; protected $protected="Protected"; private $private="Private"; function say_Hello(){ //我现在什么也不做,等下再告诉你 } } $obj=new myClass(); echo $obj->public; //echo $obj->protected; //echo $obj->private; ?> < ?php class myClass{ public $public="Public"; protected $protected="Protected"; private $private="Private"; function say_Hello(){ //我现在什么也不做,等下再告诉你 } } $obj=new myClass(); echo $obj->public; //echo $obj->protected; //echo $obj->private; ?>
通过运行以上示例我们得到一个“Public”,但当你把//echo $obj->private;的注释去掉时,你会得到一下如下的错误:Fatal error: Cannot access protected property myClass::$protected in E:\apache\htdocs\example\file.php on line 13。
可以看到我们不能随意去访问类的属性定义,也就是我们不能去修改PHP类的封装中已经定义的一些操作,这就是可见性了。我们在“外面”是不知道这个类中到底有那些成员,因为这些成员对于其他的类可能是不可见的。
当然如果我们一定要访问或者修改定义为“私有”的属性时,也可以使用PHP所提供的系统方法:_get()和_set()。关于这个在以后再来了解,因为现在我对此也只是有个了解啦。
相关文章推荐:
PHP封装的HttpClient类用法实例,封装httpclient
相关视频推荐:
以上是php类的封装是什么意思?php类的封装的解析的详细内容。更多信息请关注PHP中文网其他相关文章!