PHP实战中知识总结 / 面向对象 - abstract关键字

abstract用于定义抽象方法和抽象类。

1、抽象方法

抽象方法指没有方法体的方法,在方法声明事没有{}括弧以及其中的内容,而是直接在声明了方法后加上分号结束。

abstract function function_name();

2、抽象类

只要一个类中有一个方法是抽象方法,那么这个类就要定义为抽象类,抽象类同样用abstract关键字来定义。

抽象类不能产生实例对象,通常是将抽象方法作为子类方法重载的模板使用,且要把继承的抽象类里的方法都实现。抽象类是方便继承而引入的。

<?
abstract class Demo
{
  var $test;
  abstract function fun1();
  abstract function fun2();
  function fun3() {
    ...
  }
}
$demo=new Demo(); //抽象类不能产生实例对象,所以这样做是错的,实例化对象交给子类
class Test extends Demo
{
  function fun1() {
    ...
  }
  function fun2() {
    ...
  }
}
$test = new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法
?>

PHP实战中知识总结