<?php
/*
* 静态延迟绑定,即在类内部用来代表本身的关键字部分不是在类编译时固定好,而是当方法被访问时动态的选择来访问所属的类。
* 静态延迟绑定就是利用static关键字代替静态绑定self,静态延迟绑定需要使用静态成员的重写。
*/
class Human{
public static $name='Human';
public static function showName(){
//静态绑定
echo self::$name;
echo '<br/>';
//静态延迟绑定
echo static::$name;
}
}
class Man extends Human{
public static $name='Man';//重写父类的话静态属性因为储存在类的内部所有不会覆盖
}
/*
* echo self::$name;
* echo static::$name;
* self被继承重写后后用这个的话运行起来还是会调用原先父类的成员变量
* static运行起来如果子类重写了父类所要调用的成员变量的话会调用子类的成员变量。
*
*/
Man::showName();
?>
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自喵喵知识园 !
评论
评论