Qu'est-ce qu'une classe abstraite en PHP orienté objet ? et le rôle des classes abstraites

巴扎黑
Libérer: 2023-03-07 14:12:02
original
2064 Les gens l'ont consulté

Dans cet article, nous présentons ce que sont les classes abstraites et une introduction à leur utilisation.

Qu'est-ce qu'un cours abstrait ?

Les classes abstraites ne peuvent pas être instanciées et les mêmes méthodes ne sont pas implémentées. Seules les déclarations de méthodes sont fournies sans implémentation spécifique. Les classes abstraites ne peuvent être utilisées que comme classes parents d'autres classes. Les classes abstraites sont déclarées à l'aide du mot-clé abstract et le format de syntaxe est :

abstract class AbstractName{
.....
}
Copier après la connexion

Remarque :

Les classes abstraites sont similaires aux classes ordinaires et ont des variables membres et des méthodes membres. Mais il y a une différence. Une classe contenant une méthode abstraite doit elle-même être abstraite. Une méthode abstraite n’a pas de corps de méthode et ses fonctions ne peuvent être complétées que dans des sous-classes. Les méthodes abstraites sont également modifiées à l'aide du mot-clé abstract. Le format est :

abstract function abstractName();
Copier après la connexion

La méthode abstraite est suivie d'un point-virgule au lieu d'accolades "{}".

Quel est le rôle des classes abstraites ?

Parmi nos classes, de nombreuses classes seront écrites à plusieurs reprises. À l'heure actuelle, nous pouvons utiliser le concept de classes abstraites pour écrire une classe publique. Après instanciation, nous pouvons l'appeler à plusieurs reprises. Une classe abstraite est comme un grand entrepôt contenant de nombreux éléments. Vous n'êtes pas obligé de tout utiliser dans l'entrepôt. Vous pouvez l'appeler lorsque vous en avez besoin. Si vous n'êtes pas satisfait des articles présents dans l'entrepôt, vous pouvez également en créer un nouveau vous-même.

Les méthodes abstraites et les classes abstraites sont principalement utilisées dans des hiérarchies de classes complexes. Cette relation hiérarchique doit garantir que chaque sous-classe contient et surcharge certaines méthodes spécifiques. Cela peut également être réalisé via des interfaces.

Explication des exemples de classes abstraites :

<?php
header("content-type:text/html;charset=utf-8");
abstract class Member{
abstract function vipMember($name,$level,$money);
}
class Member1 extends Member{
function vipMember($name,$level,$money){
echo "您在PHP中文网的会员名是:" . $name;
echo &#39;<br/>&#39;;
echo "您的会员等级是:" . $level;
echo &#39;<br/>&#39;;
echo "您发文章赚取的钱是:" . $money;
}
}
class Member2 extends Member{
function vipMember($name,$level,$money){
echo "您在PHP中文网的会员名是:" . $name;
echo &#39;<br/>&#39;;
echo "您的会员等级是:" . $level;
echo &#39;<br/>&#39;;
echo "您要提取" . $money . "元";
}
}
$member1 = new Member1();
$member2 = new Member2();
$member1->vipMember(&#39;大白&#39;,&#39;三级&#39;,&#39;24.35&#39;);
echo &#39;<br/>&#39;;
echo &#39;<hr/>&#39;;
$member2->vipMember(&#39;小明&#39;,&#39;五级&#39;,&#39;84.73&#39;);
Copier après la connexion

Créez d'abord une classe abstraite membre, qui contient une méthode abstraite vipMember. Générez deux sous-classes, Member1 et Member2, pour la classe abstraite et implémentez des méthodes abstraites dans les deux sous-classes respectivement. Enfin, instanciez deux objets, appelez la méthode abstraite implémentée et enfin affichez.

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!