码迷,mamicode.com
首页 > Web开发 > 详细

2018/03/10 每日一学PHP 之 修饰符 public/private/protected

时间:2018-03-11 00:13:10      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:允许   size   其它   代码   公交车   私有方法   私有   查看   学PHP   

对于面向对象

  修饰符的使用是我们最常用,也是很容易忽略的小细节。

  对于编程来说,把握好每一个小细节,就能构造出漂亮,优雅的程序。

 

public

  使用最多的修饰符,公共方法,允许所有访问,就像一个公交车一样,上来交钱[参数],有钱就行,无所谓是谁。

  对于这个修饰符救不在做更多的解释了,因为他的使用实在是太多了。

  PS:如果一个方法没有定义修饰符,那么在PHP5中,默认是public。

private

  私有方法, 不允许在直接实例化后访问,子类也不能直接访问,只允许在自己的类中使用。

   

   道理我都懂,我就想问一下,我什么时候应该用这个修饰符?都用Public不好么?反正其他人也能看到

    1:什么时候该用这个修饰符,这里我找到了一个比较好理解的比喻,我挺喜欢这种比喻方法的。

      拿一个工厂举例子,你作为一工厂老板,你的专利技术,自然不想被别人看到,以免被伪造的可能。所以你用private修饰。保护自己。然后就是public,一些无关紧要,或者可以让别人仿造或者大众化的技术或产品,其它人都可以从你这里得到。

      总的来说,就是不希望暴露在外的方法都使用私有或者受保护的方法来执行。这也就诠释了面向对象中的封装。

 

    2:都用Public不好么?反正其他人也能看到

      这里也找到了一个回答,规范还是很重要的。

      如果自己开发个系统自己玩,那没啥问题。但是,如果想提高技术,那么必然涉及到团队协作,或者你的系统开源给其他人使用。

      再比如,你自己开发的系统,过几个月后,你其实也也记不得当初写的啥,当你要修改代码的时候,你还需要去小心的查看这个方法能不能先调用,当设置了权限过后,我就知道,这个肯定是内部调用的,外部就不要调了。

      还有个,如果一个类是实现一个很复杂的功能,那那个方法可能有几十个,一眼看下去,晃眼,很难分清楚他们权限。

    3:上述部分回答摘自

      https://segmentfault.com/q/1010000008329419

protected

  受保护方法, 不允许在直接实例化后访问,子类可以访问,可以在类中使用。

    它的使用挺像private,不同的是他可以继承.

    还是拿工厂举例子,你的专利之前是设置成了private,但是随着你的厂子慢慢变大,有了分厂,你的专利不给分厂用?不可能吧。所以protected就是解决这个问题的。

  

  对于这三种使用,在之后的学习中,如果感觉到有新东西,随时补充。

2018/03/10 每日一学PHP 之 修饰符 public/private/protected

标签:允许   size   其它   代码   公交车   私有方法   私有   查看   学PHP   

原文地址:https://www.cnblogs.com/25-lH/p/8542218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!