zoukankan      html  css  js  c++  java
  • PHP成员变量作用域的限制private

    使用PHP编写个类,我们应该尽量避免动态改变类的成员变量,而将成员变量作用于定位private,使用get和set方法来获取这些成员变量,如

     1 <html>
     2       <body>
     3           <?php
     4              class Man {
     5                  private $name;
     6                  
     7                  function getName() {
     8                      return 'Mr/Mrs ' . $this->name;
     9                  }
    10                  
    11                  function setName($name) {
    12                      $this->name = $name;
    13                  }
    14              }
    15              
    16              $man = new Man();
    17              $man->naem = 'Jack';
    18              
    19              var_dump($man);
    20           ?>
    21       </body>
    22   </html>

    使用private主要用途有2个

    1.假如我们不这样写,会有什么问题,也许有一天你在设置名字的时候你写错了,注意红字部分,name写成了naem,看看输出结果

    object(Man)#1 (2) { ["name":"Man":private]=> NULL ["naem"]=> string(4) "Jack" }

    PHP不会报错,直接给$man实例增加了一个naem属性,这显然不是我们想要的

    本来这种不需要声明却可以直接使用变量的特性在这里却埋下了隐患,所以一定要注意这一点

    2.使用private可以强制在获取或者设置属性使用get和set方法,并且在方法内对属性做一些处理,如上述的get方法

  • 相关阅读:
    https authorization basic
    第二十一章 单例模式
    第十九章 组合模式
    第十八章 备忘录模式
    第十七章 适配器模式
    第十六章 状态模式
    新博客~
    CF922D Robot Vacuum Cleaner
    BZOJ1767 [CEOI2009]harbingers
    树的直径学习笔记
  • 原文地址:https://www.cnblogs.com/zemliu/p/2509071.html
Copyright © 2011-2022 走看看