Différence clé - Classe vs Interface
La programmation orientée objet (POO) est un paradigme courant 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 d'instanciation. La POO utilise également des interfaces. Les interfaces et la classe peuvent sembler similaires, mais elles 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 qu'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.
Qu'est-ce que 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 de construction d'un objet. Un objet est ce qui est créé à l'aide de 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, le grade, le 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 pour créer une classe dans de nombreux langages de programmation est la suivante. Il est créé à l'aide du mot-clé class.
classe 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.
Etudiant s1=nouvel Etudiant ();
Ce s1 est l'objet. Le mot-clé "new" est utilisé pour allouer de la mémoire aux propriétés. Une classe a également 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 pour les autres classes. Les membres de la classe peuvent avoir des spécificateurs d'accès tels que public, private et protected. 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 au sein de la classe et des sous-classes concernées.
Qu'est-ce que l'interface ?
L'abstraction est un pilier de la programmation orientée objet. Il s'agit de masquer les détails d'implémentation et d'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 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 implémentées. 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 des 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 pour sécuriser le code.
La syntaxe d'Interface est la suivante. Interface utilisez le mot-clé "interface".
interface nom_interface{
type method1(parameter_list);
type method2(parameter_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 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. Reportez-vous à l'exemple ci-dessous é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 à 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 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 la classe et l'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 plan 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 il n'y a pratiquement pas de variables à initialiser. |
Mot clé | |
Une classe utilise le mot clé "class". | 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 est 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 pas être utilisé pour instancier un objet. Une classe peut implémenter de nombreuses interfaces. Mais il ne peut étendre qu'une seule superclasse. Une interface peut hériter de nombreuses interfaces mais il ne peut pas y avoir d'implémentation. Les deux ont leur importance. Le programmeur peut les utiliser en fonction du développement du logiciel.
Télécharger la classe PDF 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 la classe et l'interface