php oop3乱七八糟的

2020-01-14 12:31:45 浏览数 (2)

<?php /* * public private protected 这些变量可见性修饰符,只是控制变量的可访问范围,与继承无关,不管属性变量用哪个关键词修饰。它都会被继承 * 而且,一个属性不管采用了哪种修饰符,它都可以被 构造函数赋值 * */ class Person{     public $name,$age,$sex;     private $card,$money;     public function __construct($name,$age,$sex,$card,$money){         $this->name=$name;         $this->age=$age;         $this->sex=$sex;            $this->card=$card;         $this->money=$money;     }     public function __destruct(){         //before unset this object,do some thing         echo 'object had unseted';     }     public  function echo_money(){         echo 'money';         return $this->money;     }     public function __get($attr){         echo '当在对象外部直接访问,没有权限访问的属性时,这个方法被会自动执行';            echo '<br/>'.$this->name;            }     public function __set($attr,$val){         echo '当在外部给一个对象的某个不可以外部操作的属性赋值时,这个方法,自动被执行';         echo '一般来说,不应该通过这个方法给外部没有权限的访问的属性赋值';     }     public function __isset($attr){         echo '当用户在外部使用 isset()  来检测对象的某个不可以外部直接访问的属性是否存在时,这个方法会被自动调用';     }     public function __unset($attr){         echo '当用户在外部使用 unset()  对一个外部没有权限访问的属性进行毁销操作时,这个方法被 自动调用';     }     public function __call($method,$arg){         // 当调用不存在的行为时,这个会被自动执行         echo 'no had this method';     } } $hwp=new Person('hwp',30,'man',955888040,100); //echo $hwp->name; //echo $hwp->echo_money().'<br/>'; //$hwp->say(); echo '<br/>'; $hwp->money; echo '<br/>'; echo $hwp->age; $hwp->name='huangwenping'; echo $hwp->name; $hwp->money=500000; echo '<hr/>'; isset($hwp->name); isset($hwp->money); echo '<hr/>'; unset($hwp->name); unset($hwp->money); unset($hwp); class SuperPerson extends Person {     public function __construct($name,$age,$sex,$card,$money,$height){         parent::__construct($name,$age,$sex,$care,$money);         $this->height=$height;            }     public function echo_money(){         parent::echo_money();         echo '<br/>';         echo '这个方法继承自父类,同时也在子类里覆盖了父类的方法';     }    } $oH=new SuperPerson('huangwenping',30,'man',9558,200000,173); $oH->echo_money();

0 人点赞