Différence entre classe et interface

Différence clé - Classe vs interface
 

La programmation orientée objet (POO) est un paradigme commun au développement logiciel. Il aide à intégrer des scénarios réels à la programmation à l'aide de classes et d'objets. Une classe est un plan pour créer un objet. Le programmeur peut créer une classe avec des propriétés et des méthodes. Un élève et un enseignant sont des objets. La création d'un objet s'appelle instanciation. OOP utilise également des interfaces. Les interfaces et les classes peuvent sembler similaires, mais ils ont une différence. Cet article explique la différence entre une classe et une interface. le différence clé entre une classe et une interface est que une classe est un type de référence qui est un modèle pour instancier un objet tandis que l'interface est un type de référence qui ne peut pas être utilisé pour instancier un objet.

CONTENU

1. Vue d'ensemble et différence clé
2. Quelle est la classe
3. Quelle est l'interface
4. Similarités entre classe et interface
5. Comparaison côte à côte - Classe vs Interface sous forme tabulaire
6. Résumé

Quelle est la classe?

En POO, tout est considéré comme un objet. Il n'est pas possible de créer un objet sans classe. Une classe est un plan pour créer un objet. Lors de la construction d'une maison, l'architecte dessine le plan. Le plan est similaire à une classe. La maison est semblable à l'objet. La classe est le plan pour construire un objet. Un objet est ce qui est créé en utilisant la classe.

La classe contient les propriétés et les méthodes. Un étudiant peut avoir des propriétés telles que nom, note, numéro d’index. Un étudiant peut avoir des méthodes telles que lire, marcher, étudier. Une classe est créée avec les propriétés et méthodes nécessaires.

La syntaxe permettant de créer une classe dans de nombreux langages de programmation est la suivante. Il est créé en utilisant la classe de mot-clé.

class nom_classe

// Propriétés

// méthodes

Les langages de programmation tels que C # et Java suivent une syntaxe similaire pour créer un objet à l'aide d'une classe. Supposons que le nom de la classe est Student.

Étudiant s1 = nouvel étudiant ();

Cette s1 est l'objet. Le mot-clé «new» est utilisé pour allouer de la mémoire aux propriétés. Une classe a aussi un constructeur pour initialiser des propriétés ou des variables.

Les membres de classe tels que les propriétés et les méthodes ont des modificateurs d'accès. Les spécificateurs d'accès décrivent l'accessibilité et la visibilité de ces membres par rapport à d'autres classes. Les membres de la classe peuvent avoir des spécificateurs d'accès tels que public, privé et protégé. Les membres du public sont accessibles par d'autres classes. Les membres privés sont uniquement accessibles à la classe. Les membres protégés sont accessibles dans la classe et les sous-classes pertinentes.

Quelle est l'interface?

L'abstraction est un pilier de la programmation orientée objet. Il consiste à masquer les détails de la mise en œuvre et à afficher la fonctionnalité à l'utilisateur. L'abstraction est réalisée à l'aide de classes abstraites et d'interfaces. Une méthode abstraite n'a pas d'implémentation. Une classe contenant au moins une méthode abstraite est appelée classe abstraite..

Lorsqu'il y a deux classes abstraites, les méthodes déclarées dans ces classes doivent être implémentées. Une nouvelle classe est utilisée pour implémenter ces méthodes. Si les deux classes utilisent la même méthode, cela pourrait poser un problème d'ambiguïté. Par conséquent, les langages de programmation tels que Java et C # ont une interface.

Les interfaces ne contiennent que la déclaration de méthodes. Il n'y a pas de méthode de mise en œuvre. De plus, les interfaces ne peuvent pas être utilisées pour créer des objets. Ils sont utilisés pour prendre en charge plusieurs héritages et sécuriser le code.

La syntaxe de l'interface est la suivante. Interface utilise le mot clé "interface".

interface nom_interface

type method1 (liste_paramètres);

type method2 (liste_paramètres);

Selon ce qui précède, les interfaces ont uniquement la déclaration. Il n'y a pas de définition. Ainsi, les interfaces ne peuvent pas instancier des objets. Cela donne seulement une vue abstraite de ce qu'est l'interface. Les méthodes déclarées dans l'interface peuvent être implémentées par une ou plusieurs classes. Une classe utilise le mot-clé «implémenter» pour implémenter une interface. Référez-vous ci-dessous exemple écrit en utilisant Java.

Figure 01: Programme utilisant des interfaces

Selon le programme ci-dessus, A et B sont des interfaces. L'interface A a une déclaration de méthode qui est la somme (). L'interface B a une déclaration de méthode sub (). La classe C implémente les deux interfaces, A et B. Par conséquent, la classe C définit les méthodes sum () et sub (). Après avoir créé l'objet de type C, il est possible d'appeler les deux méthodes sum () et sub ().

Les méthodes déclarées dans l'interface doivent toujours être publiques, car les classes d'implémentation les définissent. Une interface peut aussi hériter d'une autre interface.

Quelles sont les similitudes entre classe et interface?

  • Les deux sont des types de référence.
  • Les deux concernent la programmation orientée objet.

Quelle est la différence entre classe et interface?

Classe vs Interface

Une classe est un type de référence qui est un modèle pour créer un objet.. Une interface est un type de référence qui ne peut pas être instancié.
 Instanciation d'objet
Une classe est utilisée pour instancier un objet. Une interface ne peut pas être instanciée car les méthodes ne peuvent effectuer aucune action..
Constructeur
Une classe contient un constructeur, pour initialiser les variables. Une interface ne contient pas de constructeur car ce ne sont quasiment aucune variable à initialiser.
 Mot-clé
Une classe utilise le mot clé "classe". Une interface utilise le mot clé "interface".
Spécificateur d'accès
Les membres de la classe peuvent être privés, publics et protégés. Les membres de l'interface doivent toujours être publics car les classes d'implémentation les définissent.

Résumé - Classe vs interface

Les classes et les interfaces sont largement utilisées dans la programmation orientée objet. La différence entre une classe et une interface réside dans le fait qu’une classe est un type de référence qui est un modèle pour instancier un objet et une interface est un type de référence qui ne peut être utilisé pour instancier un objet. Une classe peut implémenter de nombreuses interfaces. Mais il ne peut étendre qu'une seule super-classe. Dans interface peut hériter de nombreuses interfaces mais il ne peut y avoir d’implémentation. Les deux ont leur importance. Le programmeur peut les utiliser selon le logiciel en développement.

Téléchargez le PDF Class vs Interface

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne, conformément à la note de citation. Veuillez télécharger la version PDF ici Différence entre classe et interface

Référence:

1.tutorialspoint.com. “Objet et classes Java.”, Le point. Disponible ici 
2.navinreddy20. L'interface en Java avec un exemple, Java Par Navin Reddy, 11 décembre 2012. Disponible ici