class Base{
const mynum=1111;//基类常量
public static $num=11;//基类静态成员变量
public $name='base zhangsan';//基类普通成员变量
public function hi(){//普通成员函数
echo 'base普通方法-调用自己的常量'.self::mynum.';//1111
echo 'base普通方法-调用自己的静态成员变量'.self::$num.';//11
//::范围解析操作符中不可用
//echo '-----base调用对象属性----';
//echo $this->name;//child lisi
}
}
class MyController extends Base{
const mynum=2222;//子类常量
public static $num=22;//子类静态成员变量
public $name='child lisi';//子类普通成员变量
public function hi(){//普通成员函数
echo 'child普通方法-调用子类常量'.self::mynum.';//2222
echo 'child普通方法-调用基类常量'.parent::mynum.';//1111
echo 'child普通方法-调用子类静态成员变量'.self::$num.';//22
echo 'child普通方法-调用基类静态成员变量'.parent::$num.';//11
echo '---parent调用父类普通函数---';
parent::hi();
//::范围解析操作符中不可用
//echo '-----child调用对象属性-----';
//echo $this->name;//child lisi
}
}
$mc = new MyController();
echo '通过 对象:: 调用普通函数';
$mc::hi();
echo '通过 类:: 调用普通函数';
MyController::hi();
echo '通过 对象-> 调用普通函数';
$mc->hi();
echo '通过 对象::调用常量、静态成员变量';
echo $mc::mynum.'
'; //2222
echo $mc::$num.'
'; //22
echo '通过 类::调用常量、静态成员变量';
echo MyController::mynum.'
'; //2222
echo MyController::$num.'
'; //22