Maison  >  Article  >  Java  >  La définition et la différence entre les classes abstraites et les interfaces

La définition et la différence entre les classes abstraites et les interfaces

零下一度
零下一度original
2017-07-18 17:52:491320parcourir

1. Qu'est-ce qu'un cours abstrait ?

Si plusieurs classes ont des comportements de même nature, comme les personnes qui marchent et les animaux qui marchent, la marche est un comportement de même nature dans deux classes différentes : les humains et les animaux. faciliter la gestion, Vous pouvez résumer ces comportements dans une classe, créant ainsi une classe qui combine les comportements communs de plusieurs classes. Cette classe est la classe abstraite.

2. Qu'est-ce qu'une interface ?

Les deux classes ont non seulement des comportements de même nature, mais aussi des comportements de natures différentes. Par exemple, les humains dorment, les oiseaux dorment, les oiseaux volent, et le sommeil est commun aux humains et. oiseaux Le comportement peut être défini dans une classe abstraite, mais voler n'est pas un comportement courant des humains et des oiseaux et ne peut pas être défini dans une classe abstraite. Ce comportement non partagé peut être défini dans une spéciale. Parmi les classes, cette classe spéciale est l'interface.

3. Différences

En prenant n classes comme objet de recherche, les comportements communs de n classes sont définis dans des classes abstraites, et certaines classes share Le comportement où le nombre de classes partagées n'atteint pas n est défini dans l'interface.

Les classes abstraites reflètent les points communs globaux, tandis que les interfaces reflètent les points communs locaux.

Le choix de la classe abstraite et de l'interface dépend du périmètre de préoccupation. Si le périmètre de préoccupation est petit et que les objets extraits de ce petit périmètre ont tous le même comportement, peut utiliser des classes abstraites pour gérer les comportements communs. Si le périmètre de préoccupation est relativement large, et au sein de ce large périmètre, certains comportements ne sont partagés que par certains objets, alors ces comportements ne peuvent être définis que dans l'interface.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn