Explication détaillée des méthodes abstraites PHP et exemples d'utilisation de classes abstraites

伊谢尔伦
Libérer: 2023-03-12 12:20:01
original
1589 Les gens l'ont consulté

En langage POO, une classe peut avoir une ou plusieurs sous-classes, et chaque classe possède au moins une méthode publique comme interface permettant au code externe d'y accéder. Les méthodes abstraites sont introduites pour faciliter l'héritage. Examinons d'abord les définitions des classes abstraites et des méthodes abstraites avant d'expliquer leurs utilisations.

Méthodes abstraites et classes abstraites
En langage POO, une classe peut avoir une ou plusieurs sous-classes, et chaque classe possède au moins une méthode publique comme
L'interface par laquelle un code externe y accède. Les méthodes abstraites sont introduites pour faciliter l'héritage. Examinons d'abord les définitions des classes abstraites et des
méthodes abstraites avant d'expliquer leurs utilisations.
Qu'est-ce qu'une méthode abstraite ? La méthode que nous définissons dans la classe sans corps de méthode est une méthode abstraite.Le soi-disant corps de méthode signifie que lorsque la méthode est déclarée, il n'y a pas d'accolades et son contenu, mais directement dans le nom de la méthode lors de sa déclaration.
, ajoutez un point-virgule pour terminer. De plus, lors de la déclaration d'une méthode abstraite, ajoutez un mot-clé "abstract" pour la modifier
Par exemple :
abstract function fun1(); () ;
L'exemple ci-dessus concerne les méthodes abstraites "fun1()" et "fun2()" sans corps de méthode modifié par "abstract".
Il y a aussi un point-virgule après la méthode abstraite. ; alors qu'est-ce que l'abstraction ? Tant qu'il y a une méthode abstraite dans une classe, alors la classe doit être définie comme une classe abstraite, et la classe abstraite doit également être modifiée avec le mot-clé "abstract" dans une classe abstraite, la méthode
peut être ; abstraite ou non. Méthodes et membres
attributs
, mais tant qu'une méthode est une méthode abstraite, la classe doit être déclarée
comme classe abstraite et décorée de "abstract". Par exemple : Extrait de code


Dans l'exemple ci-dessus, une classe abstraite "Demo" est définie et modifiée avec "abstract", et un membre

est défini dans cet class L'attribut "$test", deux méthodes abstraites "fun1" et "fun2" et une méthode non abstraite fun3(); alors
abstract class Demo{ 
var $test; 
abstract function fun1(); 
abstract function fun2(); 
function fun3(){ 
… . 
} 
}
Copier après la connexion
comment utilise-t-on la classe abstraite ? Le point le plus important est que les classes abstraites ne peuvent pas produire d'instances

d'objets
, elles ne peuvent donc pas être utilisées directement
Nous avons déjà mentionné à plusieurs reprises que les classes ne peuvent pas être utilisées directement via les classes. Objet, alors une classe abstraite ne peut pas produire d'objets d'instance. Quelle est l'utilité de déclarer une classe abstraite ? Nous utilisons des méthodes abstraites comme modèles pour les sous-classes à surcharger Définir une classe abstraite équivaut à définir une spécification, qui nécessite que les sous-classes se conforment à la classe abstraite , implémentez les méthodes abstraites dans la classe abstraite selon la. besoins de la sous-classe. La sous-classe doit implémenter toutes les méthodes abstraites de la classe parent. Sinon, s'il y a encore des méthodes abstraites dans la sous-classe, alors la sous-classe est toujours une classe abstraite et ne peut pas être instanciée. Pourquoi devons-nous partir de la classe abstraite ? héritage? Parce que parfois nous devons hériter d'une classe abstraite pour implémenter certaines fonctions, sinon
vous ne pourrez pas implémenter ces fonctions. Si vous héritez d'une classe abstraite, vous devez implémenter la méthode abstraite dans la classe
Extrait de code ;


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!

Étiquettes associées:
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!