zoukankan      html  css  js  c++  java
  • __unset()魔术方法 删除类内私有属性

    __unset()魔术方法 删除私有属性
    unset()对共有属性进行删除 可通过__unset()魔术方法对私有属性进行操作

    当在类外部执行unset()函数时,自动执行类内__unset()魔术方法

    class hdw {
      private $name;
      private $age;
      private $money; //员工工资
      public $c;
      function __construct($name, $age = '', $money) {
        $this->name = $name;
        $this->age = $age;
        $this->money = $money;
      }
      function __isset($var) {
        $array = array ("name", "age" );
      if (in_array ( $var, $array )) {
        echo $var . "属性存在,他的值是:" . $this->$var;
      } elseif (in_array ( $var, array_keys ( get_object_vars ( $this ) ) )) {
        echo "属性不允许外部检查";
        return;
      } else {
        echo "属性不存在";
        }
      }
      function __unset($c) {
        if ($c == 'age') {
          unset ( $this->$c );
          echo "删除属性{$c}成功!";
        } else {
          echo "不允许删除属性{$c}";
        }
      }
      function get_money() {
        echo $this->money;
      }
    }
    $lisi = new hdw ( "李四", 22, 5500 );
    //isset ( $lisi->money2222 ) ;
    //echo isset($_GET['page'])?$_GET['page']:1;
    unset ( $lisi->name );
    //echo $lisi->get_money();
    

      

  • 相关阅读:
    BZOJ 3208: 花神的秒题计划Ⅰ
    BZOJ 3207: 花神的嘲讽计划Ⅰ
    BZOJ 2732: [HNOI2012]射箭
    BZOJ 3165: [Heoi2013]Segment
    BZOJ 3626: [LNOI2014]LCA
    2017 01 16 校内小测 ZXR专场
    BZOJ 3101: N皇后
    BZOJ 1106: [POI2007]立方体大作战tet
    BZOJ 2084: [Poi2010]Antisymmetry
    【UOJ#228】基础数据结构练习题 线段树
  • 原文地址:https://www.cnblogs.com/jiechn/p/4655045.html
Copyright © 2011-2022 走看看