可以使用abstract来修饰一个类或者方法。

用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。

抽象类不能被实例化。

抽象方法是只有方法声明,而没有方法的实现内容。

用abstract修饰的类表示这个类是一个抽象类。抽象类不能被实例化。

这是一个简单抽象的方法,如果它被直接实例化,系统会报错。

<?
//定义一个抽象类.
abstract  class User {
    //定义它的__toString 方法.
    public function __toString() {
        return get_class($this);
    }
}
//实例化这个类会出错.<h1></h1>
echo new User();
?>

程序运行结果:

Fatal error: Cannot instantiate abstract class User in E:\PHPProjects\test.php on line ***

下面例子的 NormalUser 继承自 User类,就可以被实例化了。

<?
//定义一个抽象类.
abstract class User {
    //定义它的__toString 方法.
    public function __toString(){
        return get_class($this);
    }
}
//实例化这个类会出错.<h1></h1>
//echo new User();

class NormalUser extends User {

}
$a = new NormalUser() ;
echo "这是类 ";
echo $a;
echo " 的实例";
?>

程序运行结果:

这是类 NormalUser 的实例

单独设置一个抽象类是没有意义的,只有有了抽象方法,抽象类才有了血肉。