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

Original 2019-06-27 15:39:41 195
abstract:<?php class Father { public static $name='关羽'; public static $weapon='青龙偃月刀'; public static function Describe() { return stat
<?php

class Father
{
	public static $name='关羽';
	
	public static $weapon='青龙偃月刀';
	
	public static function Describe()
	{
		return static::$name.'使用的武器是:'.static::$weapon.'<br>';
		
	}
}

class Son extends Father
{
	public static $name='关平';	
	
}
echo Father::Describe();//输出结果为“关羽使用的武器是青龙偃月刀”
echo Son::Describe();//在子类中重写名字,结果为“关平关羽使用的武器是青龙偃月刀”,在父类中调用了子类中修改的name

?>

主要 static 关键字 ,就能保证在其他类中输出当前类的属性。

Correcting teacher:天蓬老师Correction time:2019-06-28 09:22:50
Teacher's summary:因为静态成员无法用对象访问 , 所以在继承环境中的访问会有问题, 后期绑定技术解决了这个问题

Release Notes

Popular Entries