利用后期静态绑定技术,实现在父类调用子类中重写的静态成员练习

Original 2019-06-05 16:18:21 268
abstract:<?php //定义一个父类 class Father {     //静态属性     public static $money = 50000;       //静态方法    &
<?php
//定义一个父类
class Father
{
    //静态属性
    public static $money = 50000;
 
    //静态方法
    public static function getClass()
    {
        //返回当前类名
        return __CLASS__;
    }
 
    //静态方法
    public static function getMoney()
    {
//        return self::getClass().'有'.self::$money;
 
        //static 用在静态继承的上下文中,动态设置静态成员的调用者(主体)
        return static::getClass().'有'.static::$money;
 
    }
}
 
//定义一个子类
class Son extends Father
{
    //覆写父类的静态属性
    public static $money = 30000;
 
    //覆写父类的静态方法
    public static function getClass()
    {
        return __CLASS__;
    }
}
 
//调用Father中的静态方法,来获取类名
echo Father::getClass(),'<br>';
echo Father::getMoney(),'<br>';
 
//调用子类Son类中的静态成员
echo Son::$money,'<br>';
echo Son::getClass(),'<br>';
echo '<hr>';
 
echo Son::getMoney();


Correcting teacher:查无此人Correction time:2019-06-06 09:33:56
Teacher's summary:完成的不错,学习完类,就相当于php入门了。继续加油。

Release Notes

Popular Entries