在PHP编程体系中,类继承机制通过extends关键字实现层级关系构建。当NoteBookComputer类继承Computer基类时,子类将自动获得父类的公共属性和方法。
class Computer{ protected $_name = '联想120'; public function run(){ echo '基类方法执行'; }}class NoteBookComputer extends Computer{ // 继承父类所有公共及受保护成员}
当需要修改父类方法实现时,子类可通过同名方法进行覆盖。注意访问权限不得严于父类,这是PHP面向对象编程的重要原则。
class Computer{ protected function run(){ echo '基类执行逻辑'; }}class NoteBookComputer extends Computer{ public function run(){ echo '子类新实现'; parent::run(); // 调用父类原始方法 }}
包含abstract关键字的类不可直接实例化,主要用于定义方法规范。强制子类必须实现特定方法,这是构建标准化代码结构的重要手段。
abstract class Device{ abstract public function startup();}class Computer extends Device{ public function startup(){ echo '设备启动流程'; }}
特性 | 类继承 | 接口实现 |
---|---|---|
实现方式 | extends单继承 | implements多实现 |
方法实现 | 可选重写 | 必须实现 |
接口定义通过interface关键字创建,要求实现类必须完全履行契约。特别注意接口方法必须为public访问级别,这是与抽象类的重要区别。
interface PowerControl{ const VOLTAGE = 220; public function powerOn();}class Computer implements PowerControl{ public function powerOn(){ echo "执行电压".self::VOLTAGE."V启动"; }}