腾讯云618限量抢购
  1. PHP+MySQL数据库教程
  2. PHP进阶教程
  3. ThinkPHP 3.0/3.1 教程

PHP 抽象方法与抽象类 abstract 关键字

最后更新:2010-11-25 22:59阅读:23753

abstract 关键字用于定义抽象方法与抽象类。

抽象方法

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

abstract 关键字用于定义抽象方法,语法:

abstract function function_name();

抽象类

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

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

例子:

<?php
abstract class AbstractClass{
    // 定义抽象方法
    abstract protected function getValue();
    // 普通方法
    public function printOut(){
        print $this->getValue()."<br />";
    }
}
class ConcreteClass extends AbstractClass{
    protected function getValue(){
        return "抽象方法的实现";
    }
}

$class1 = new ConcreteClass;
$class1->printOut();
?>

在这个例子中,父类定义了抽象方法以及对于方法的实现,但实际的内容却在子类里定义。


本章节内容共分 17 部分:
  1. 1. PHP 类与对象
  2. 2. PHP 类的继承 extends 关键字
  3. 3. PHP 构造方法 __construct()
  4. 4. PHP 类的访问控制与封装 public,protected,private 修饰符
  5. 5. PHP 特殊方法 __set()、__get()、__isset() 与 __unset()
  6. 6. PHP 类的静态成员属性与静态方法 static 关键字
  7. 7. PHP 抽象方法与抽象类 abstract 关键字
  8. 8. PHP 对象克隆 clone 关键字与 __clone() 方法
  9. 9. PHP 类的接口 interface 与 implements 关键字
  10. 10. PHP 自动加载类 __autoload() 方法
  11. 11. PHP 对象的存储与传输(序列化 serialize 对象)
  12. 12. PHP 重载
  13. 13. PHP final 关键字
  14. 14. PHP 析构方法 __destruct()
  15. 15. 范围解析操作符(::)
  16. 16. PHP 常量(const)
  17. 17. PHP 重载方法 __call()
腾讯云618限量抢购