在PHP编程实践中,extends关键字构建起类与类之间的继承关系。例如计算机类可派生出笔记本计算机子类,子类自动获取父类public和protected级别的属性与方法。
class ComputerBase { protected $model = 'ThinkPad T系列'; public function startup() { echo '设备启动中...'; }}class Laptop extends ComputerBase { public function showModel() { echo $this->model; }}$device = new Laptop();$device->startup(); // 输出:设备启动中...$device->showModel(); // 输出:ThinkPad T系列
当子类需要修改父类方法实现时,可通过方法覆盖实现功能扩展。注意访问权限不得严于父类,protected方法可改为public,反之则会产生错误。
特性 | 父类 | 子类 |
---|---|---|
访问修饰符 | protected | public |
方法参数 | 无参数 | 可扩展参数 |
抽象类通过abstract关键字定义,要求子类必须实现抽象方法。接口则通过interface创建,实现类需要遵循严格的契约规范。
abstract class Device { abstract public function powerOn();}class SmartPhone extends Device { public function powerOn() { echo '智能手机启动流程...'; }}
interface NetworkInterface { public function connectWifi();}class Tablet implements NetworkInterface { public function connectWifi() { echo '正在连接无线网络...'; }}