Comment convertir la classe parent php en sous-classe

PHPz
Libérer: 2023-04-21 10:29:54
original
1002 Les gens l'ont consulté

Dans le processus de programmation orientée objet, l'héritage de classe est un concept très important. L'héritage permet la réutilisation du code, économisant ainsi du temps et de l'énergie aux programmeurs. Cependant, il existe souvent des situations dans lesquelles vous devez utiliser une classe parent existante, mais également ajouter ou modifier certaines méthodes et attributs uniques de la sous-classe. À cette époque, le besoin d’une « classe de rotor de classe parent » est apparu de toute urgence. Cet article explique comment convertir une classe parent Php en sous-classe.

Pourquoi Php parent class rotor class

Dans le processus de programmation, nous constatons souvent que certaines classes sont très adaptées à nos besoins, mais ces classes manquent de certaines méthodes et attributs dont nous avons besoin. Si nous modifions directement la classe parent d'origine, notre classe modifiée deviendra une toute nouvelle classe. Par conséquent, nous devons inévitablement créer une nouvelle sous-classe et hériter de la plupart de ses propriétés et méthodes de la classe parent existante. Dans ce cas, l'exigence de « classe parent vers classe enfant » apparaîtra.

Comment implémenter la classe rotor de classe parent Php

L'implémentation de la classe rotor de classe parent Php peut utiliser un mot-clé appelé extends. Le mot-clé extends en Php est utilisé pour implémenter l'héritage. Son utilisation est la suivante :

class ChildClass extends ParentClass {
  //子类的属性和方法
}
Copier après la connexion

Grâce au mot-clé extends, nous pouvons hériter de la plupart des méthodes et propriétés de la classe parent dans nos sous-classes, et en même temps ajouter notre New. méthodes et propriétés requises.

En fait, cette méthode implémente une relation d'héritage, plutôt qu'une véritable conversion "classe parent en classe enfant". Par conséquent, nous devons faire attention aux points suivants :

  1. La sous-classe doit contenir le constructeur de la classe parent
    Héritage implémenté via extends, la sous-classe doit contenir le constructeur de la classe parent. En Php, les sous-classes héritent automatiquement du constructeur de la classe parent, nous n'avons donc pas besoin de déclarer explicitement le même constructeur dans la sous-classe.
  2. La sous-classe doit appeler le constructeur de la classe parent
    Afin de garantir que les membres de la classe parent peuvent être initialisés normalement, la sous-classe doit appeler le constructeur de la classe parent correspondant dans le constructeur. C'est un problème courant dans de nombreuses bibliothèques.

Ce qui suit est un exemple simple qui illustre comment convertir une classe parent Php en sous-classe :

class MyBaseClass {
  private $myBaseVar;
  
  public function __construct(){
    echo "Construction of Base class\n";
    $this->myBaseVar = "Initial value";
  }
  
  public function getMyBaseVar() {
    return $this->myBaseVar;
  }
}

class MySubClass extends MyBaseClass {
  private $mySubVar;
  
  public function __construct(){
    echo "Construction of Sub class\n";
    parent::__construct();
    $this->mySubVar = "Another value";
  }
  
  public function getMySubVar() {
    return $this->mySubVar;
  }
}

$obj = new MySubClass();
echo $obj->getMyBaseVar() . "\n";
echo $obj->getMySubVar() . "\n";
Copier après la connexion

Dans cet exemple, nous définissons d'abord une classe de base appelée MyBaseClass, qui a une classe nommée myBaseVar Variables membres privées. Afin d'obtenir la valeur de la variable myBaseVar, nous implémentons la fonction membre getMyBaseVar().

Ensuite, nous définissons une classe appelée MySubClass, qui hérite de MyBaseClass. Afin de répondre aux exigences du constructeur de MyBaseClass, nous utilisons parent::__construct() dans le constructeur pour appeler explicitement le constructeur dans MyBaseClass. De même, nous avons également ajouté une variable membre privée nommée mySubVar et implémenté la fonction membre getMySubVar().

Enfin, nous avons créé un exemple MySubClass nommé $obj et testé l'effet des deux fonctions membres getMyBaseVar() et getMySubVar(). Le résultat est le suivant :

Construction of Sub class
Construction of Base class
Initial value
Another value
Copier après la connexion

Comme le montre le résultat, le constructeur de la classe parent a été appelé avec succès et la sous-classe a non seulement obtenu les propriétés de la variable myBaseVar de la classe parent, mais a également ajouté une propriété privée. nommé mySubVar.

Conclusion

Lorsque nous devons étendre une classe existante, nous pouvons créer une sous-classe qui hérite de la classe parent. Grâce à l'héritage, les sous-classes peuvent obtenir la plupart des propriétés et méthodes de la classe parent, et nous pouvons également ajouter de nouvelles propriétés et méthodes à la sous-classe. En utilisant parent::__construct() dans le constructeur, nous pouvons garantir que le constructeur de la classe parent est appelé avec succès, garantissant ainsi que les membres de la classe parent peuvent être initialisés normalement. Ce qui précède est la méthode d'implémentation de la classe rotor de classe parent Php. J'espère que cela sera utile aux apprenants de la programmation Php.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!