Maison > développement back-end > tutoriel php > La différence entre les classes abstraites et les interfaces en php

La différence entre les classes abstraites et les interfaces en php

不言
Libérer: 2023-03-24 12:34:01
original
2267 Les gens l'ont consulté

Cet article présente principalement la différence entre les classes abstraites et les interfaces en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

La différence entre les classes abstraites et les interfaces.


Classe abstraite :

  • Héritage unique, utilisation du mot-clé extends

  • peut avoir des attributs constants et variables

  • peut avoir des méthodes de constructeur

  • Les méthodes des classes abstraites peuvent utiliser les mots-clés public, static, private et protected

  • La logique correspondante peut être implémentée dans les méthodes

  • Les méthodes abstraites ne peuvent pas avoir de corps de méthode

Interface :

  • L'héritage multiple peut être obtenu, en utilisant les mots-clés Implements ou Extends pour hériter

  • peut avoir des constantes, mais ne peut pas avoir de variables

  • Il n'y a pas de constructeur

  • Les méthodes sont généralement modifiées avec le mot-clé public

  • Seul le nom de la méthode, pas de corps de méthode

Ni les classes abstraites ni les interfaces ne peuvent être instanciées

La différence entre les classes abstraites et les interfaces

Classe abstraite :

  • Héritage unique, en utilisant le mot-clé extends

  • peut avoir des attributs constants et variables

  • peut avoir des constructeurs

  • Les méthodes dans les classes abstraites peuvent utiliser public, static, private , la méthode du mot clé Protect

  • peut implémenter la logique correspondante

  • méthode abstraite Il ne peut pas y avoir de corps de méthode

Interface :

  • L'héritage multiple peut être obtenu, en utilisant les outils ou étend l'héritage des mots clés

  • Peut avoir des constantes, mais ne peut pas avoir de variables

  • Aucun constructeur

  • Les méthodes sont généralement modifiées avec le mot-clé public

  • Uniquement le nom de la méthode, pas de méthode body

Ni les classes abstraites ni les interfaces ne peuvent être instanciées

Recommandations associées :

Analyse de la différence entre Redis et Memcache

Utilisation de classes abstraites et d'interfaces en 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!

É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