Java est un langage de programmation informatique mis en place en 1995 par Sun Microsystems. Les interfaces et les classes abstraites sont utilisées dans le code Java lorsque plusieurs sous- types de la même classe doivent se comporter différemment . Les classes abstraites et interfaces fonctionnent très différemment et sont utilisés de différentes façons, mais il ya des similitudes entre eux . Langue
classes abstraites et interfaces permettent de code différent pour être utilisé. Par exemple, une classe abstraite peut contenir des classes concrètes , tandis qu'une interface peut contenir des classes abstraites. Une classe abstraite est également plus fluide que l'interface et peut contenir des champs qui ne sont pas statiques ou finale, tandis que l'interface ne peut pas. En outre, une classe abstraite hérite automatiquement d'une classe d'objet , ce qui signifie qu'il inclura des méthodes telles que " clone ( )" et " equals () ", tandis que l' interface ne peut pas comprendre ces méthodes.
Méthodes mises en œuvre Photos, illustrations
méthodes d' une classe abstraite peuvent être définies avec une variété de paramètres de visibilité , y compris du public , protégé, privé ou pas . Une interface ne peut être visiblement public. Cela signifie que tous les membres d'une interface sont publiques par défaut, tandis que les membres d'une classe abstraite peuvent inclure des membres non publics ou méthodes .
Performance
d'une manière générale , les interfaces fonctionnent un peu plus lent que les classes abstraites parce qu'elles introduisent une nouvelle classe pour chaque méthode qui est mis en œuvre, et cela peut prendre du temps supplémentaire pour une interface pour localiser la bonne méthode dans chaque classe. Une classe abstraite , d'autre part, peut appliquer une méthode à plusieurs classes à la fois, et réalise ainsi plus rapide. Cependant, la plupart JVM ( machine virtuelle Java ) de 2011 pour compenser la différence , et ces différences de performance sont plus guère remarqué.
Utilisation
Une interface devrait être utilisée lorsque votre script vous demande de fournir la mise en œuvre de l'ensemble de vos méthodes. Les interfaces peuvent construire toutes vos classes back up à partir de zéro d'une manière systématique . Les classes abstraites doivent être utilisés lorsque vous avez une implémentation partielle de votre script , mais ce n'est pas tout à fait complète . Laisser ces implémentations incomplètes comme "abstrait" et permettre à un serveur pour les interpréter.