Maison  >  Article  >  développement back-end  >  Compréhension approfondie de la programmation orientée objet PHP : héritage des propriétés et méthodes des objets

Compréhension approfondie de la programmation orientée objet PHP : héritage des propriétés et méthodes des objets

王林
王林original
2024-06-05 16:34:01325parcourir

Héritage de propriétés et de méthodes dans la programmation orientée objet PHP : les sous-classes héritent des propriétés non privées de la classe parent, qui peuvent être modifiées via le mot-clé parent. Les sous-classes héritent des méthodes non privées de la classe parent et peuvent être remplacées via un remplacement. PHP prend en charge l'héritage multi-niveaux, mais les méthodes portant le même nom n'héritent que des méthodes de l'une des classes parentes.

Compréhension approfondie de la programmation orientée objet PHP : héritage des propriétés et méthodes des objets

Compréhension approfondie de la programmation orientée objet en PHP : Héritage des propriétés et méthodes des objets

En PHP, l'héritage des propriétés et des méthodes des objets est un concept clé de la programmation orientée objet. Il permet aux sous-classes d'accéder et de modifier les propriétés et méthodes de leur classe parent.

Héritage de propriétés

Lorsqu'une classe enfant hérite d'une classe parent, la classe enfant héritera automatiquement de toutes les propriétés non privées de la classe parent. Les sous-classes peuvent utiliser ces propriétés mais ne peuvent pas les modifier directement. Pour modifier les propriétés d'une classe parent, la classe enfant doit utiliser le mot clé parent::. Par exemple : 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:: 关键字。

实战案例:

图书管理系统

考虑一个图书管理系统,其中有 BookEBook

class Book {
    private $title;
    private $author;

🎜Héritage de méthodes🎜🎜🎜La sous-classe hérite également de toutes les méthodes non privées de la classe parent. Les sous-classes peuvent utiliser ces méthodes, ou elles peuvent utiliser le mot-clé override pour redéfinir les méthodes dans la classe parent. Par exemple : 🎜rrreee🎜🎜Héritage multi-niveaux🎜🎜🎜PHP prend en charge l'héritage multi-niveaux, ce qui signifie qu'une classe enfant peut hériter de plusieurs classes parents. Dans ce cas, la classe enfant héritera de toutes les propriétés et méthodes de la classe parent. Cependant, si plusieurs classes parent définissent des méthodes portant le même nom, la classe enfant n'héritera de la méthode que de l'une des classes parent. Pour accéder aux méthodes d'une autre classe parent, la sous-classe doit utiliser le mot-clé parent::. 🎜🎜🎜Cas pratique : 🎜🎜🎜🎜Système de gestion de livres🎜🎜🎜Considérons un système de gestion de livres avec des classes Book et EBook : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn