Maison > Article > développement back-end > Explication détaillée des exemples d'héritage orienté objet PHP
L'héritage, en tant que l'une des trois caractéristiques importantes de Orienté objet, joue un rôle extrêmement important dans le domaine orienté objet. Il semble que je n'ai jamais entendu parler d'un langage orienté objet qui le fasse. ne prend pas en charge l'héritage.
Héritage de classe
L'héritage, en tant que l'une des trois caractéristiques importantes de l'orientation objet, joue un rôle extrêmement important dans le domaine de l'orientation objet
Je ne le fais pas. Je ne semble pas en avoir entendu parler. Les langages orientés objet ne prennent pas en charge l'héritage. L'héritage est l'une des fonctionnalités importantes de la programmation orientée objet dans PHP5. Il fait référence à la création d'une nouvelle classe dérivée qui hérite des données et des fonctions d'une ou plusieurs classes précédemment définies et peut ainsi être redéfinie ou ajoutée. établir une hiérarchie ou une hiérarchie de classes. Pour faire simple, l'héritage est un mécanisme par lequel les classes enfants
partagent automatiquement les structures de données et les méthodes de la classe parent. Il s'agit d'une relation entre les classes. Lors de la définition et de l'implémentation de
d'une classe, vous pouvez le faire sur la base d'une classe existante, utiliser le contenu défini par la classe existante comme le propre contenu de
et ajouter du nouveau contenu. Par exemple, vous avez maintenant une classe "personne", qui contient
deux attributs de membre "nom et âge" et deux
méthodes membres
"méthode de conversation et méthode de marche"", si le programme a maintenant besoin d'une classe d'étudiant, car les étudiants sont aussi des personnes, les étudiants ont également des attributs de membre "nom et âge" et des méthodes de membre "méthode de conversation et méthode de marche". À ce stade, vous pouvez laisser la classe d'étudiant hériter de cette classe. . Après l'héritage, la classe d'étudiant héritera de tous les attributs de l'être humain. Vous n'avez pas besoin de redéclarer ces attributs de membre
et ces méthodes, car La classe d'étudiant a également les attributs de l'école et les méthodes d'apprentissage. dans la classe d'élève que vous créez, il y a des
attributs et méthodes
hérités de l'être humain, plus le "localisation" Attributs scolaires" et les "méthodes d'apprentissage" spécifiques à l'élève,
une telle classe d'élève est déclarée . L'héritage peut aussi être appelé « extension ». D'après ce qui précède, nous pouvons voir que la classe étudiante
étend les êtres humains sur la base des deux attributs et deux méthodes d'origine chez les êtres humains, en ajoutant un attribut et une méthode pour prolonger une nouvelle classe d'élèves. Grâce au mécanisme d'héritage, les types de données
existants peuvent être utilisés pour définir de nouveaux types de données. Le nouveau type de données
défini contient non seulement les membres nouvellement définis, mais également les anciens membres. Nous appelons la classe existante utilisée pour dériver de nouvelles classes la classe de base
, également connue sous le nom de classe parent et de super classe. Une nouvelle classe dérivée d’une classe existante est appelée classe dérivée, également appelée sous-classe.
Dans le développement de logiciels, l'héritage des classes rend le logiciel créé ouvert et extensible. Il s'agit d'une méthode efficace d'organisation et de classification des informations. Elle simplifie la création d'objets et de classes, augmentant la reproductibilité du code. Grâce à l'héritage, fournit une structure hiérarchique canonique de classes. Grâce à la relation d'héritage des classes, les fonctionnalités publiques peuvent être partagées, améliorant ainsi la réutilisabilité des logiciels. En langage C++, une classe dérivée peut être dérivée d'une ou de plusieurs classes de base. L'héritage dérivé d'une classe de base est appelé héritage unique ; l'héritage dérivé de plusieurs classes de base est appelé héritage multiple.
Mais il n'y a pas d'héritage multiple dans les langages PHP et Java, seulement un héritage unique. C'est-à-dire qu'une classe ne peut hériter des données que directement d'
une seule classe.
Par exemple :
Ce qui suit est l'abstraction de la classe "Humain"
Extrait de code
Créons une "Classe d'étudiant" ci-dessous. Si l'héritage n'est pas utilisé, le Voici : Extrait de code
Grâce à la définition de la classe "Student" ci-dessus, la classe Student hérite de tous les attributs membres et méthodes membres de la classe Person
en utilisant le mot-clé "extends" , et étend une école L'attribut membre "school", et
//定义一个“人”类作为父类 class Person{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人的年龄 //定义一个 构造方法 参数为属性姓名$name、性别$sex和年龄$age进行赋值 function construct($name, $sex, $age){ $this->name=$name; $this->sex=$sex; $this->age=$age; } //这个人可以说话的方法, 说出自己的属性 function say() { echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>"; } }attributs et méthodes suivants :
Les attributs de membre dans la classe d'étudiant "Étudiant" sont :
Nom : nom//定义一个“人”类做为父类 class Student{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人的年龄 var $school; //学生所在学校的属性 //定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值 function construct($name=””, $sex=””, $age=””, $school=””){ $this->name=$name; $this->sex=$sex; $this->age=$age; $this->school=$school; } //这个人可以说话的方法, 说出自己的属性 function say() { echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>"; } //这个学生学习的方法 function study() { echo "我的名子叫:".$this->name." 我正在”.$this->school.”学习<br>"; } } //定义一个子类“学生类“使用”extends”关键字来继承”人”类 class Student extends Person{ var $school; //学生所在学校的属性 //这个学生学习的方法 function study() { echo "我的名子叫:".$this->name." 我正在”.$this->school.”学习<br>"; } }Âge ; : âge;
Sexe: sexe;
École: école;
Les méthodes membres de la classe d'élève "Étudiant" sont :
Méthode d'expression orale : say(); );
Grâce à l'utilisation de l'héritage de classe ci-dessus, la charge de travail de création d'objets et de classes est simplifiée et la reproductibilité du code est augmentée. Cependant, à partir de l'exemple ci-dessus, l'impact de la « réutilisabilité » et d'autres héritages n'est pas particulièrement évident. Si vous y réfléchissez plus largement, les gens ont d'innombrables postes, comme les étudiants ci-dessus, les enseignants, les ingénieurs, les médecins, les ouvriers <.>, etc., il y en a beaucoup, beaucoup. Si chaque classe définit des attributs et des méthodes que les "gens" ont en commun, réfléchissez-y, il y aura beaucoup de travail
, ces propriétés et méthodes peuvent être héritées de la « Personne » être humain.
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!