简明现代魔法 -> PHP服务器脚本 -> PHP 面向对象:静态抽象方法
PHP 面向对象:静态抽象方法
2010-05-29
在PHP5.1中,抽象类中支持静态抽象方法。
下面这个例子,看到静态抽象方法可以声明。实现这个方法时,必须是静态的方法。
<?
echo phpversion();
echo "<br>";
abstract class User
{
protected static $sal = 0;
static abstract function getSal();
static abstract function setSal($sal);
}
class Vip extends User
{
static function getSal()
{
return self::$sal;
}
static function setSal($sal)
{
self::$sal = $sal;
}
}
vip::setSal(5000);
echo "you sal is ". vip::getSal();
?>
程序运行结果:
5.2.9 you sal is 5000
PHP5.2.0中的静态抽象方法
在PHP5.2.0 的 更新信息中有这样一段话:因为疏漏,在PHP5.0 和 PHP5.1 的类中允许静态抽象方法。在PHP5.2中,只有接口可以拥有静态抽象方法。
在PHP5.2.0 版本中测试,刚才的代码执行正常。在PHP5.2.0中是依然兼容。

