PHP 面向对象编程中的属性和方法继承:子类继承父类的非私有属性,可通过父级关键字修改。子类继承父类的非私有方法,可通过 override 覆盖。PHP 支持多级继承,但相同名称方法只继承其中一个父类的方法。
PHP 面向对象编程的深入理解:对象属性和方法的继承
在 PHP 中,对象属性和方法的继承是面向对象编程的关键概念。它允许子类访问和修改其父类的属性和方法。
属性继承
当子类从父类继承时,子类会自动继承父类的所有非私有属性。子类可以使用这些属性,但不能直接修改它们。要修改父类的属性,子类必须使用 parent::
关键字。例如:
class ParentClass { protected $name = 'Parent'; } class ChildClass extends ParentClass { public function getName() { return parent::$name; } } $child = new ChildClass(); echo $child->getName(); // Output: Parent $child->name = 'Child'; // Error: Cannot modify inherited property directly
方法继承
子类还继承父类的所有非私有方法。子类可以使用这些方法,也可以使用 override
关键字重新定义父类中的方法。例如:
class ParentClass { public function sayHello() { echo 'Hello from Parent!'; } } class ChildClass extends ParentClass { public function sayHello() { parent::sayHello(); // Call the parent method echo 'Hello from Child!'; } } $child = new ChildClass(); $child->sayHello(); // Output: Hello from Parent! Hello from Child!
多级继承
PHP 支持多级继承,这意味着一个子类可以从多个父类继承。在这种情况下,子类将继承所有父类的属性和方法。但是,如果多个父类定义了具有相同名称的方法,子类将只继承其中一个父类的方法。要访问另一个父类的方法,子类必须使用 parent::
关键字。
实战案例:
图书管理系统
考虑一个图书管理系统,其中有 Book
和 EBook
类:
class Book { private $title; private $author;
以上是PHP面向对象编程的深入理解:对象属性和方法的继承的详细内容。更多信息请关注PHP中文网其他相关文章!