PHP类继承通过extends实现,子类继承父类的public和protected成员,支持方法重写及parent::调用父类方法,受访问控制影响,仅支持单继承,多行为复用可借助trait。

PHP类继承通过extends关键字实现,子类可以继承父类的属性和方法,从而实现代码复用和扩展。要正确使用类继承,需掌握基本语法、访问控制以及重写机制。
类继承的基本语法
使用extends关键字让一个类继承另一个类:
class ParentClass { }
class ChildClass extends ParentClass { }
子类会自动拥有父类中public和protected成员,但不能访问private成员。
方法重写与parent::调用
子类可以重新定义父类的方法,实现功能扩展或修改:
立即学习“PHP免费学习笔记(深入)”;
- 在子类中定义同名方法即可实现重写
- 若需保留父类逻辑,可用parent::method()调用父类方法
例如:
class Animal {
function speak() { echo "动物叫"; }
}
class Dog extends Animal {
function speak() {
parent::speak();
echo ",比如汪汪";
}
}
访问控制的影响
继承中访问修饰符决定成员是否可被访问:
- public: anywhere
- protected: only in class and subclasses
- private: only in the defining class
即使继承了私有属性或方法,也无法直接访问,需通过公有或受保护的方法间接操作。
单继承限制
PHP只支持单继承,即一个类只能直接继承一个父类:
class A extends B { } ✅
class A extends B, C { } ❌(语法错误)
如需多行为复用,可使用trait机制作为补充。
基本上就这些,掌握extends、访问控制和parent调用,就能有效使用PHP类继承。不复杂但容易忽略细节。











