详细解读PHP类的封装

PHP类的封装对于初学者来说是比较难懂的,在我们学习这方面的知识之前,首先要讲到的是PHP中的public、protected与private修饰符,可能在之前的代码中你已经见识过public这个修饰符,但是我们还并不懂这其中的奥秘,在接下来让我们看看吧。#t#

创新互联服务项目包括乌尔禾网站建设、乌尔禾网站制作、乌尔禾网页制作以及乌尔禾网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,乌尔禾网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到乌尔禾省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。

protected:方法或者属性只能从类或者继承类的一个成员中访问到。

private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。

这三个修饰符从作用范围上来讲应该像这样从大到小排序:

public→protected→private之所以说是在作用范围上是因为类跟我们之前的函数一样,把一些属性和方法进行了PHP类的封装。这个封装就决定了数据的“可见性”了,这样我们在类的外面不能够随意修改所定义的属性和方法而只能够进行调用,这就是封装的好处,同时也提高了安全性。为了说明这几个修饰符的作用,请看如下代码:

 
 
 
  1. < ?php 
  2. class myClass{ 
  3. public $public="Public"; 
  4. protected $protected="Protected"; 
  5. private $private="Private"; 
  6. function say_Hello(){ 
  7. //我现在什么也不做,等下再告诉你 
  8. $obj=new myClass(); 
  9. echo $obj->public; 
  10. //echo $obj->protected; 
  11. //echo $obj->private; 
  12. ?> 
  13. < ?php
  14. class myClass{
  15. public $public="Public";
  16. protected $protected="Protected";
  17. private $private="Private";
  18. function say_Hello(){
  19. //我现在什么也不做,等下再告诉你
  20. }
  21. }
  22. $obj=new myClass();
  23. echo $obj->public;
  24. //echo $obj->protected;
  25. //echo $obj->private;
  26. ?> 

通过运行以上示例我们得到一个“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类的封装
地址分享:http://www.shufengxianlan.com/qtweb/news44/278044.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联