PHP抽象类不可实例化且强制子类实现抽象方法;必须用abstract声明,含抽象方法时必加abstract修饰;抽象方法无方法体、访问控制最低为protected;子类须全部实现抽象方法,权限不能更严格;可含普通属性、方法和常量,但不可有private成员。

抽象类必须用abstract关键字声明
只要类中存在至少一个抽象方法,该类就必须加上abstract修饰;即使没有抽象方法,也可以显式声明为抽象类(用于纯粹提供公共逻辑,禁止直接创建对象)。
抽象方法只能声明,不能实现
抽象方法使用abstract关键字修饰,以分号结尾,不带方法体(即没有{}):
abstract public function connect();- 不能是
private——访问控制最低为protected,通常用public - 参数列表需明确,但不写具体逻辑
子类继承后必须全部实现抽象方法
非抽象子类若要被实例化,必须重写父抽象类中的所有抽象方法:
- 方法名、参数个数与类型需一致(PHP 7.0+ 支持类型声明,必须匹配)
- 访问权限不能比父类更严格:父类
protected→ 子类可用protected或public;父类public→ 子类只能是public - 若未全部实现,子类自动成为抽象类,同样无法实例化
抽象类可包含具体成员,但有访问限制
它不是“空壳”,允许定义:
立即学习“PHP免费学习笔记(深入)”;
- 普通属性(
public/protected,不能private——因子类需访问) - 普通方法(含构造方法、工具方法等)
- 常量
- 但不能包含
private方法或属性(否则子类无法继承/覆盖)



















