zoukankan      html  css  js  c++  java
  • 2018/03/10 每日一学PHP 之 修饰符 public/private/protected

    对于面向对象

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

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

    public

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

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

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

    private

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

       

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

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

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

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

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

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

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

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

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

        3:上述部分回答摘自

          https://segmentfault.com/q/1010000008329419

    protected

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

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

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

      

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

  • 相关阅读:
    linux驱动启动顺序
    ubuntu下安装UltraEdit
    Linux下安装redis
    IntelliJ IDEA 设置Terminal 窗口字体大小
    centOS安装node
    linux下安装pm2
    nuxt部署在Linux下,ip+端口无法访问到
    var与let、const的区别
    JS函数和箭头函数
    回调函数
  • 原文地址:https://www.cnblogs.com/25-lH/p/8542218.html
Copyright © 2011-2022 走看看