博客列表 >面向对象初体验 -- 2018年5月2日作业

面向对象初体验 -- 2018年5月2日作业

hongda的博客
hongda的博客原创
2018年05月31日 11:32:52772浏览

今天学习了面向对象编程,我先创造一个为person的类:

<?php

class person
{
    public $name = '';
    public $gender = '';
    private $age = 0 ;
    private $height = 0;
    private $weight = 0;


    public function __construct($name, $gender, $age, $height, $weight)
    {
        $this->name = $name;
        $this->gender = $gender;
        $this->age = $age;
        $this->height = $height;
        $this->weight = $weight;
    }

    public function __get($name)
    {
        // TODO: Implement __get() method.
        return $this->$name;
    }

    public function __set($name, $value)
{
    // TODO: Implement __set() method.
    if ($name == 'age'){
        if (in_array($value,range(14,120))){
            $this->$name = $value;
        }
    } elseif ($name == 'height'){
        if (in_array($value,range(50,300))){
            $this->$name = $value;
        }
    }else {
        $this->$name = $value;
    }
}
}

这个类里面含有构造方法,查询器和设置器

然后我们用下面的PHP 代码来调用这个类:

<?php

require './class/person.php';

$hongda = new person('hongda','male',25,178,70);

echo "Hello, your name is ".$hongda->name." .<br>";
echo "Your gender is ".$hongda->gender." .<br>";
echo "Your age is ".$hongda->age.' years old.<br>';
echo "Your height is ".$hongda->height.'cm.<br>';
echo "Your weight is ".$hongda->weight.'kg.<br>';

echo '<hr>';
$hongda->age = 18;

echo "Your age is ".$hongda->age.' years old.<br>';

$hongda->height = 180;
echo "Your height is ".$hongda->height.'cm.<br>';

结果如下:

001.png

以上, 我先实例化了类,然后用查询器得到了对象的每个属性的value,然后用设置器改变了对象的一些属性的值。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议