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

不言
不言original
2018-04-19 15:22:342275parcourir

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!

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