[java] differences entre interfaces et classes abstraites ??

differences entre interfaces et classes abstraites ?? [java] - Programmation

Marsh Posté le 03-08-2001 à 18:22:34    

A ma connaissance, il a tres peu (vois aucune) difference entre une classes totalement abstraite (ou toutes les methodes sont abstraites) et une interface. A part le fait, qu'une classe ne peut entendre qu'UNE seule classe et peut implementer PLUSIEURS interface, je ne vois pas qu'elle est la vraie raison "philophique" de l'existence des interfaces en JAVA.
 
Quelqu'un peux t'il repondre a ma question ?
Ca m'enerve de me dire que je sais utiliser quelque chose sans savoir sont utilité reelle .........

Reply

Marsh Posté le 03-08-2001 à 18:22:34   

Reply

Marsh Posté le 03-08-2001 à 19:49:49    

c une question de sémantique je crois
une classe dont toutes les méthodes sont abstraites, bah c justement le concept d'interface, donc pourquoi ne pas l'appeler par son nom ...

Reply

Marsh Posté le 03-08-2001 à 20:36:05    

Dans une interface, on ne peut définir aucun code, ni aucune variable. Dans une classe abstraite, certaines méthodes (ou même toutes) peuvent être définies, et on peut de même définir des variables. Mais comme tu l'as remarqué, il y a effectivement très peu de différences entre une interface et une classe abstraite sans méthodes définies ni aucune variable. Dans ce cas, il faut d'ailleurs clairement utiliser une interface, puisqu'une classe abstraite n'apporte aucun avantage et ajoute une contreinte forte du fait que l'héritage, en Java, n'est pas multiple.
 
Tout le problème vient d'ailleurs de là : les interfaces servent à s'en sortir quand on aurait besoin d'héritage multiple. Le principale intéret des interfaces, c'est de pouvoir utiliser le polymorphisme sur des objets qui héritent déja d'un autre objet.

 

[edtdd]--Message édité par Matafan--[/edtdd]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed