关于类的属性和方法案例

原创 2018-12-20 19:58:11 361
摘要:<?php class SportObject {     public $name;     public static $age = 28;     private $weight;  &n
<?php
class SportObject
{
    public $name;
    public static $age = 28;
    private $weight;
    protected $salary;
    const SLOGAN = '锻炼造就完美身材';
    public function __construct($name,$weight,$salary)
    {
        $this->name = $name;
        $this->weight = $weight;
        $this->salary = $salary;
    }
    public static function getAge()
    {
        return '年龄是:'.static::$age;
    }
    public function getWeight()
    {
        return '体重是:'.$this->weight;
    }
    public function getSalary()
    {
        return '工资是:'.$this->salary;
    }
}
require 'public/Site.php';
class Basketball extends SportObject
{
    public static $age = 30;
    public function getSalary()
    {
        return parent::getSalary();
    }
    //重载
    public function __call($name, $arguments)
    {
        return call_user_func_array([(new Site()),'show'],$arguments);
    }
    public static function __callStatic($name, $arguments)
    {
        return call_user_func_array(['Site','add'],$arguments);
    }
}
$obj = new SportObject('John',30,5000);
echo $obj->name,'<br>';
echo $obj->getWeight(),'<br>';
echo $obj->getSalary(),'<br>';
echo SportObject::getAge(),'<br>';
echo SportObject::SLOGAN,'<br>';
$child = new Basketball('peter',45,8000);
echo $child->getAge(),'<br>';
echo $child->getSalary(),'<br>';
echo $child->show('php中文网','php的福利之地'),'<br>';
echo Basketball::add(4,6);

总结:这几节课涉及了类声明与实例化,类属性和类常量的使用,类成员的访问限制和类的继承,后期绑定技术,重载技术等。对对象有了一个深刻的理解,类是对象的模板,对象是类的实例化。重载是通过魔术方法动态的创建类的属性和方法,可以在类外创建、访问属性和方法。重载技术扩展了类的功能。类.png

批改老师:天蓬老师批改时间:2018-12-20 20:38:34
老师总结:不论多么的复杂, 类成员操作就是围绕着属性和方法展开, 操作无法就是读与写, 不要想得太复杂

发布手记

热门词条