Différence entre la classe et l'interface

Différence entre la classe et l'interface

Différence clé - Classe Interface vs
 

La programmation orientée objet (OOP) est un paradigme commun dans le développement de logiciels. Il aide à apporter des scénarios du monde réel à 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 est connue sous le nom instanciation. OOP utilise également des interfaces. Les interfaces et la classe peuvent sembler similaires, mais ils ont une différence. Cet article traite de 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 plan 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. Aperçu et différence clé
2. Qu'est-ce que la classe
3. Qu'est-ce que l'interface
4. Similitudes entre la classe et l'interface
5. Comparaison côte à côte - Interface de classe vs sous forme tabulaire
6. Résumé

Qu'est-ce que la classe?

Dans OOP, 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 similaire à 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 le nom, la note, le numéro d'index. Un étudiant peut avoir des méthodes telles que la lecture, la marche, l'étude. Une classe est créée avec les propriétés et méthodes nécessaires.

La syntaxe pour créer une classe dans de nombreux langages de programmation est la suivante. Il est créé en utilisant la classe de mots clés.

classe class_name

// propriétés

// Méthodes

Les langages de programmation tels que C # et Java suivent une syntaxe similaire pour créer un objet en utilisant une classe. Supposons que le nom de classe est étudiant.

Student S1 = New Student ();

Ce S1 est l'objet. Le «nouveau» mot-clé est utilisé pour allouer de la mémoire aux propriétés. Une classe a également un constructeur pour initialiser les propriétés ou les variables.

Les membres de la 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 à d'autres classes. Les membres de la classe peuvent avoir des spécificateurs d'accès tels que le public, le privé et protégé. Les membres publics sont accessibles par d'autres classes. Les membres privés ne sont accessibles qu'à la classe. Les membres protégés sont accessibles dans la classe et les sous-classes pertinentes.

Qu'est-ce que l'interface?

L'abstraction est un pilier de programmation orientée objet. Il s'agit de masquer les détails de l'implémentation et d'afficher la fonctionnalité à l'utilisateur. L'abstraction est obtenue en utilisant des classes abstraites et des interfaces. Une méthode abstraite n'a pas de mise en œuvre. Une classe qui contient au moins une méthode abstraite est appelée une classe abstraite.

Lorsqu'il y a deux classes abstraites, les méthodes déclarées dans ces classes doivent être mises en œuvre. Une nouvelle classe est utilisée pour implémenter ces méthodes. Si les deux classes avaient la même méthode, cela pourrait causer 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 Utilisez le mot-clé «Interface».

interface interface_name

type méthode1 (paramètre_list);

type méthode2 (paramètre_list);

Selon ci-dessus, les interfaces n'ont que la déclaration. Il n'y a pas de définition. Ainsi, les interfaces ne peuvent pas instancier des objets. Il ne donne qu'une vue abstraite de 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ément» pour implémenter une interface. Reportez-vous à l'exemple ci-dessous écrit à l'aide de Java.

Figure 01: Programme à l'aide d'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 sous (). La classe C implémente les deux interfaces qui sont A et B. Par conséquent, la classe C définit à la fois 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 à l'intérieur de l'interface doivent toujours être publiques car les classes d'implémentation les définissent. Une interface peut également hériter d'une autre interface.

Quelles sont les similitudes entre la classe et l'interface?

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

Quelle est la différence entre la classe et l'interface?

Interface de classe VS

Une classe est un type de référence qui est un plan pour créer un objet. Une interface est un type de référence qui ne peut pas être instancié.
 Instanciation 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 pratiquement 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 être toujours publics car les classes d'implémentation les définissent.

Résumé - Classe Interface vs

Les classes et les interfaces sont largement utilisées dans la programmation orientée objet. La différence entre une classe et une interface est qu'une classe est un type de référence qui est un plan pour instancier un objet et une interface est un type de référence qui ne peut pas être utilisé pour instancier un objet. Une classe peut implémenter de nombreuses interfaces. Mais il ne peut prolonger qu'une seule superclasse. Dans l'interface peut hériter de nombreuses interfaces mais il ne peut pas y avoir de mise en œuvre. Les deux ont leur importance. Le programmeur peut les utiliser en fonction du logiciel en développement.

Téléchargez l'interface PDF Class vs

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

Référence:

1.tutorielpoint.com. «Objet Java et classes.", Le point. Disponible ici 
2.navinreddy20. L'interface en Java avec un exemple, Java de Navin Reddy, 11 décembre. 2012. Disponible ici