Quand devez-vous utiliser une classe abstraite et quand devez-vous utiliser une interface en Java ?

1 Réponses


  • Une classe abstraite est une classe créée uniquement pour être la classe parente de plusieurs sous-classes et pour définir des méthodes et des attributs communs dont les sous-classes hériteront. Nous ne créerons jamais un objet à partir d'une classe abstraite, c'est un point de départ à partir duquel nous construirons d'autres classes (qui peuvent être instanciées).

    Par exemple, si vous modélisez une banque, vous créerez une classe abstraite appelée compte, puis des sous-classes telles que compte d'épargne, compte de dépôt, compte professionnel. La classe abstraite peut avoir des méthodes abstraites et des méthodes réelles, ainsi que des attributs.

    les interfaces sont très similaires aux classes abstraites, avec une différence importante - TOUTES ses méthodes doivent être abstraites, elles n'ont AUCUN corps, juste un nom, une liste de paramètres et un type de résultat. Quand quelque chose hérite d'une interface, vous devez alors définir le code du corps des méthodes abstraites dans l'interface. Une interface est en fait un modèle en attente d'un ajout de détails. Lorsqu'une autre classe implémente une interface, vous dites "Je vais utiliser toutes ces méthodes vides mais écrire mon propre code corporel pour chacune d'entre elles". Alors que dans une classe abstraite, il peut déjà y avoir du code de corps.

Ecrivez votre réponse

Votre réponse apparaîtra après modération