Différence entre classe et interface en Java

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 14 Peut 2024
Anonim
Différence entre classe et interface en Java - La Technologie
Différence entre classe et interface en Java - La Technologie

Contenu


La classe et l'interface sont toutes deux utilisées pour créer de nouveaux types de référence. Une classe est un ensemble de champs et de méthodes qui agissent sur les champs. Une interface a des méthodes totalement abstraites, c'est-à-dire des méthodes sans personne. Une interface est syntaxiquement similaire à la classe, mais il existe une différence majeure entre une classe et une classe qui peut être instanciée, mais une interface ne peut jamais être instanciée. Apprenons donc quelques différences supplémentaires entre une classe et une interface à l’aide du tableau de comparaison présenté ci-dessous.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonClasseInterface
De baseUne classe est instanciée pour créer des objets.Une interface ne peut jamais être instanciée car les méthodes ne peuvent effectuer aucune action lors de l'appel.
Mot-cléclasseinterface
Spécificateur d'accèsLes membres d'une classe peuvent être privés, publics ou protégés.Les membres d'une interface sont toujours publics.
Les méthodes Les méthodes d'une classe sont définies pour effectuer une action spécifique.Les méthodes d'une interface sont purement abstraites.
Implémenter / ÉtendreUne classe peut implémenter un nombre quelconque d'interfaces et ne peut étendre qu'une classe.Une interface peut étendre plusieurs interfaces mais ne peut implémenter aucune interface.
Constructeur Une classe peut avoir des constructeurs pour initialiser les variables.Une interface ne peut jamais avoir de constructeur car il n'y a pratiquement aucune variable à initialiser.


Définition de classe

Une classe est l’un des aspects les plus importants de la programmation Java. Sans classes, vous ne pouvez pas implémenter de programme java. Une classe crée des types de référence et ces types de référence sont utilisés pour créer des objets. Une classe a une signature et un corps. La signature d’une classe a le nom de la classe et des informations indiquant si la classe a hérité d’une autre classe. Le corps d'une classe a des champs et des méthodes qui fonctionnent sur ces champs. Une classe est créée en utilisant un mot clé classe. Permet de voir comment déclarer une classe.

class nom_classe {/ * champs ... méthodes * /}

Lorsqu'une classe est instanciée, chaque objet créé contient une copie des champs et des méthodes avec eux. Les champs et les membres déclarés dans une classe peuvent être statiques ou non statiques. La valeur des membres statiques est constante pour chaque objet alors que les membres non statiques sont initialisés par chaque objet différemment selon ses besoins.


Les membres d'une classe ont des spécificateurs d'accès qui décident de la visibilité et de l'accessibilité des membres à l'utilisateur ou aux sous-classes. Les spécificateurs d'accès sont publics, privés et protégés. Une classe peut hériter d'une classe à l'aide du spécificateur d'accès, qui déterminera la visibilité des membres d'une superclasse (classe héritée) dans une sous-classe (classe héritante). Ainsi, la classe remplit le concept de masquage et d’encapsulation de données dans la programmation orientée objet.

Définition d'interface

Une interface fait également partie des types de référence définis en Java. L'importance d'une interface est qu'en Java, une classe ne peut hériter que d'une seule classe. Pour éviter cette restriction, les concepteurs de Java ont introduit un concept d'interface. Une interface est syntaxiquement similaire à une classe, mais sa déclaration de champ manque et les méthodes à l'intérieur d'une interface n'ont aucune implémentation. Une interface est déclarée à l'aide d'un mot clé interface. Voyons la déclaration d'une interface.

interface nom_interface {type nom_var = valeur; type method1 (liste de paramètres); type method2 (liste de paramètres); . . }

Une interface ne définit aucune méthode déclarée à l'intérieur car elle manque de champs sur lesquels opérer. Juste parce qu'une méthode dans une interface n'effectue aucune action, une interface ne peut jamais être instanciée. Si une interface a un membre de champ, elle doit être initialisée au moment de sa déclaration. Une interface ne contient jamais de constructeur car il manque des membres de champ pour s'initialiser. Ainsi, une interface ne définit que ce qu'une classe doit faire au lieu de ce qu'elle doit faire.

Une interface créée peut être implémentée par un nombre quelconque de classes à l'aide d'un mot clé. met en oeuvre. Mais les classes implémentant une interface doivent définir toutes les méthodes à l'intérieur d'une interface. Une interface peut également hériter d’une autre interface en utilisant étendre mot-clé. Si une classe implémente une interface qui étend une autre interface. Ensuite, une classe doit définir les méthodes des deux interfaces apparaissant dans une chaîne. Les méthodes à l'intérieur d'une interface doivent toujours être publiques, car elles doivent être accessibles par les classes qui les implémentent.

Principales différences entre la classe et l'interface en Java

  1. Une classe peut être instanciée en créant ses objets. Une interface n'est jamais instanciée car les méthodes déclarées à l'intérieur d'une interface sont abstraites et n'effectuent aucune action. Il n'est donc pas utile d'instancier une interface.
  2. Une classe est déclarée en utilisant une classe de mot-clé. De la même manière, une interface est créée à l'aide d'une interface de mot clé.
  3. Les membres d'une classe peuvent avoir le spécificateur d'accès comme public, privé, protégé. Mais les membres d'une interface sont toujours publics car ils doivent être accessibles par les classes qui les implémentent.
  4. Les méthodes à l'intérieur d'une classe sont définies pour effectuer une action sur les champs déclarés dans la classe. Comme il manque une interface dans la déclaration des champs, les méthodes à l'intérieur d'une interface sont purement abstraites.
  5. Une classe peut implémenter un nombre illimité d'interfaces, mais ne peut étendre qu'une seule super classe. Une interface peut étendre un nombre illimité d'interfaces, mais ne peut en implémenter aucune.
  6. Une classe contient des constructeurs définis pour obtenir la variable initialisée. Cependant, une interface n'a pas de constructeur car il n'y a pas de champs à initialiser. Les champs d'une interface sont initialisés uniquement au moment de leur déclaration.

Conclusion:

Les classes et les interfaces ont leur propre importance. Une classe est utilisée lorsque nous devons définir comment la tâche sera effectuée. Une interface est utilisée lorsque nous avons besoin de savoir quelle tâche doit être effectuée.