Maison  >  Article  >  développement back-end  >  Explication détaillée des méthodes abstraites PHP et des instances de classe abstraites

Explication détaillée des méthodes abstraites PHP et des instances de classe abstraites

墨辰丷
墨辰丷original
2018-05-29 17:09:381688parcourir

Cet article présente principalement les méthodes abstraites et les classes abstraites PHP, et analyse les concepts, les fonctions, les définitions et l'utilisation des méthodes abstraites et des classes abstraites PHP sous forme d'exemples. Les amis dans le besoin peuvent se référer à

pour. détails Comme suit :

Qu'est-ce qu'une méthode abstraite ?

Une méthode définie dans une classe sans corps de méthode est une méthode abstraite. Lorsque la méthode est déclarée, il n'y a pas d'accolades et son contenu. De plus, lors de la déclaration d'une méthode abstraite, les mots-clés doivent être utilisés. être ajouté un résumé à modifier.

Par exemple :

abstract function fun1();
abstract function fun2();

Tant qu'il y a une méthode abstraite dans une classe, alors cette classe doit être définie comme une classe abstraite.

Les classes abstraites doivent également être modifiées avec abstract.

Les classes abstraites peuvent avoir des méthodes et des attributs de membre qui ne sont pas abstraits.

Mais tant qu'il existe une méthode abstraite, la classe doit être définie comme une classe abstraite.

Comment utiliser les classes abstraites ? Le point le plus important est que les classes abstraites ne peuvent pas produire d’objets instances !

Définir une classe abstraite équivaut à définir une spécification ! Cette spécification exige que les sous-classes soient conformes ! Une fois qu'une sous-classe hérite d'une classe abstraite, elle implémente les méthodes abstraites dans la classe abstraite en fonction des besoins de la sous-classe.

La sous-classe doit implémenter toutes les méthodes abstraites de la classe abstraite, sinon il y a encore des méthodes abstraites dans la sous-classe, la sous-classe est toujours une classe abstraite, et elle ne peut toujours pas être instanciée !

<?php
abstract class Demo{
var $test;
abstract function fun1();
abstract function fun2();
function fun3(){
    ...
  }
}
class Test extends Demo{
function fun1(){
   ...
}
function fun2(){
   ...
}
}
$test = new Test();
?>

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

PHPRéaliser le multi-processus et le multi-threading

PHPQuelques balises de base à apprendre

PHP5 façons d'obtenir l'adresse IP de l'utilisateur

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