php oop3乱七八糟的

2023-01-31 01:01:57 php oop3

<?PHP

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();

相关文章