当前位置: 首页 > 后端技术 > PHP

【咸鱼PHP】设计模式-封装_0

时间:2023-03-30 02:14:08 PHP

设计模式封装什么是封装?用官方的话说【封装就是将一个抽象的很多元素进行划分的过程,这些元素构成了抽象的结构和行为,封装的作用是将抽象合约接口与其实现分离】现在我们来了解一下吧?首先,封装是一种信息隐藏。什么是信息隐藏?举个生活中的例子,我们不知道空调和汽车的原理和结构,但我们只需要知道一件事,拿起遥控器和钥匙就可以了,没什么花哨的,我们不会我们需要知道细节是什么,然后在封装过程中会出现一些问题。我们的好奇心很丰富,总想了解结构,但是在封装方面又不想让你去接触他,那么就会出现这种情况。一种妥协,所以我们封装的东西里面多了一些东西,就是特性,是不是有种不要脸的感觉(′Д`)y-~而对于编程来说,对象正是因为封装了,对象将成为对象。现在,当其他人访问这个的时候,我们可以给他们一些满足他们好奇心的东西,让他们的好奇心得到满足,让他们只能通过合适的访问渠道来使用这个模块,而不能使用这个模块的细节,并且合适的访问渠道就是我们常说的private[私有]、protected[保护]、public[公共]private[私有]例子:age='boy';$this->隐私();}privatefunctionprivacy(){echo$this->age;}}使用:$other=newinformation();//输出24上面类中,实例化information(),__construct()会初始化数据调用方法【__construct的使用请参考官方文档】,在类中使用$this就可以了【至于问什么用$this,别问我php规定的是什么],可以访问$age的私有属性变量获取年龄,对外就是$other,他只能看到privacy()输出的结果,像,girl,你可以看成是女孩,但是女孩的年龄是private的,不会告诉你的,你只能看到她想告诉你的,她是女性Protected[protection]例子:protected.phpcountMoney();}protectedfunctioncountMoney(){$this->wage="你的时薪是$";回声$this->工资。$this->setHourly(36);}}$worker=newaccess();输出:你的小时工资是36抽象类不能实例化,继承抽象类时需要实现抽象方法protected。只能在继承类和本类中使用。上面的话可能有点官方。其实protected就像我们的工资protected一样,其他人可能看到一些招聘信息或者公告有多少钱,但是hehehe看不到谁有这么多钱,只有你的老板和你自己都知道public【public】例子:bank_password=$data;if($this->bank_password=="123456"){echo'哇!我好辛苦,我没钱!';}}publicfunctionattract(){echo$this->wage;}}$worker=newinformation();$worker->attract();output:10000public顾名思义,所有人都可以使用,就像相亲的时候,你会告诉别人你的薪水是多少,以增加成功率,避免死于光明,虽然你的真实情况是我太难了!!!(;′д`)ゞ