Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
641 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Pour les pros de la POO: L'utilité de l'Interface ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Pour les pros de la POO: L'utilité de l'Interface ?

n°508388
samuelp
Posté le 05-09-2003 à 11:28:40  profilanswer
 

Bonjour,
 
 j'ai pris la section Java car je vais appliquer ma question à l'environnement de développement Java
 
Je me suis toujours demandé à quoi pouvait bien servir une Interface (par rapport à une classe abstraite je m'entend)
 
 Lorsque l'on défini une interface, on y met les Methodes sans y mettre l'implementation. Par exemple, si j'ai une methode getFile et getDirectory, je ne met QUE les squelettes de methodes et non pas leur implementation.
 
A quoi cela sert il ? En faisant une classe Abstraite (Implementation plus interface) on s'y retrouve aisement.
 
A chaque fois que l'on implemente une interface nous sommes obligés de définir les implementations de chaque méthode, et je n'arrive pas à comprendre bien l'utilité.
 
Si on s'en referre à Java, dans une interface, les methode sont publiques (on peut l'indiquer mais c'est implicite) et l'on peut meme (je ne sais pas si c'est Object Compliant, un pro de l'Objet pourrait peut etre confirmer) mettre des "Attributs" en Static Final (implicite aussi, c'est pour certaines constantes par exemple)
 
Soit la classe A qui implemente l'interface I, A doit redefinir les methodes de I (implementation)
 
Maintenant je cherche l'utilité, si par exemple une classe B voudrait utiliser l'interface I via A
 
Pour des Langages ne supportant pas l'heritage multiple, on peut concevoir que l'interface peut etre utile, car nous ne sommes pas limité au nombre d'implementation d'interfaces (donc en C++, les interfaces ne seraient pas utiles)
 
Mise a part l'interface callback je ne vois pas l'utilité.
 
Je sais que l'on peut faire Interface uneinterface = new ClasseQuiImplementeInterface() et dans ce cas là nous pouvons, via les methodes implementées utiliser une interface "complete"
 
Mais a part ça, j'ai du mal à comprendre.
 
Quelqu'un pourrait expliquer clairement et calmement ?

mood
Publicité
Posté le 05-09-2003 à 11:28:40  profilanswer
 

n°508398
kadreg
profil: Utilisateur
Posté le 05-09-2003 à 11:30:24  profilanswer
 

samuelp a écrit :


Pour des Langages ne supportant pas l'heritage multiple, on peut concevoir que l'interface peut etre utile, car nous ne sommes pas limité au nombre d'implementation d'interfaces (donc en C++, les interfaces ne seraient pas utiles)


 
 :non:  
 
Dans certains langages, on émule le mécanisme d'interface avec l'héritage multiple.

n°508420
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-09-2003 à 11:42:02  profilanswer
 

Je sais pas si j'vais être hyper convaincant, m'enfin on va dire que c'est pas le but :)
On dit généralement que l'interface est un contrat. J'aime pas trop cette formulation mais c'est vrai que c'est ce qui s'en rapproche le plus. En fait, une classe qui implémentera une interface s'engagera à fournir les méthodes énoncées dans l'interface. C'est vraiment juste pour la conception, je ne pense pas que ça ait un impact quelconque sur le bytecode qui est généré au final.
Par exemple, le dev qui lit la doc ou le code d'une classe qui implémente l'interface Comparable saura que la classe en question pourra être appelée sur une méthode compareTo() et à partir de là utiliser des objets qui permettent de comparer des objets ou autres utilisations nécessitants le passage d'objets implémentant Comparable.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°508427
benou
Posté le 05-09-2003 à 11:51:49  profilanswer
 

+1 avec ce qu'à dit Taiche. Le terme de "contrat" est vraiment approprié.
 
En ce qui concerne les attribut static final des interfaces, c'est une abération que ce truc existe. un conseil : oublie qu'on peut faire ca.
 
les classes abstraites sont un peu une facilité. La vrai notion c'est l'interface. Une classes abstraite c'est juste une classe qui ne remplit qu'une partit du contrat et qui la tache à une autre classe de remplir le reste.
 
sinon, pour philosopher un peu : Quand tu fais de la conception et que tu commences à réfléchir à l'architecture objet de ton appli, tu réfléchis à quoi va servir cet objet, qu'est ce qu'il sera capable de faire. en fait tu penses en terme d'interface. Les objets c'est juste la brique qui va entrer dans le moule que tu as imaginé. Mais l'important, c'est pas la brique, mais le moule !  
 
 
bref, les interface c'est bien !


---------------
ma vie, mon oeuvre - HomePlayer
n°508436
Taz
bisounours-codeur
Posté le 05-09-2003 à 11:58:51  profilanswer
 

kadreg a écrit :


 
 :non:  
 
Dans certains langages, on émule le mécanisme d'interface avec l'héritage multiple.

tiens j'aurais dit l'inverse

n°508441
gizmo
Posté le 05-09-2003 à 12:02:10  profilanswer
 

Taz a écrit :

tiens j'aurais dit l'inverse  


C'est le grand conflit de Java vs C++. [:spamafote]
Perso, je pense plus comme toi parce que j'estime que qu'un contrat ne dois pas se limiter uniquement aux méthodes mais devrait également pouvoir s'appliquer sur des propriétés pour garder une plus grande homogénéité interne des structures.

n°508445
Taz
bisounours-codeur
Posté le 05-09-2003 à 12:04:55  profilanswer
 

d'autres langages font eux aussi le pari de l'héritage multiple, ce n'est pas une invention du C++. Les interfaces c'est bien, mis dans certains cas, ça suffit pas.

n°508526
samuelp
Posté le 05-09-2003 à 13:39:28  profilanswer
 

Merci pour ces infos, j'y vois deja plus clair ;)

n°508573
benou
Posté le 05-09-2003 à 14:20:23  profilanswer
 

Taz a écrit :

mis dans certains cas, ça suffit pas.


 :pfff:  
 
au moins harko change de pseudo pour troller ...


---------------
ma vie, mon oeuvre - HomePlayer
n°508576
Taz
bisounours-codeur
Posté le 05-09-2003 à 14:25:08  profilanswer
 

y a pas de troll. dans la vie de tous les jours, y a plein de problème qui sont mettent en oeuvre naturellement l'héritage multiple

mood
Publicité
Posté le 05-09-2003 à 14:25:08  profilanswer
 

n°508603
benou
Posté le 05-09-2003 à 15:06:01  profilanswer
 

et y a plein de façon de s'en sortir sans multi-heritage.  
 
C'est peut-être plus laborieux, mais on peut toujours s'en sortir.
 
=> c'était un troll => [:nero27]


Message édité par benou le 05-09-2003 à 15:06:24

---------------
ma vie, mon oeuvre - HomePlayer
n°508606
darklord
You're welcome
Posté le 05-09-2003 à 15:09:04  profilanswer
 

Taz a écrit :

y a pas de troll. dans la vie de tous les jours, y a plein de problème qui sont mettent en oeuvre naturellement l'héritage multiple


 
et encore bcp plus de bugs incompréhensibles du /à la mauvaise utilisation de l'héritage multiple :o
 
:kaola:


---------------
Just because you feel good does not make you right
n°508611
benou
Posté le 05-09-2003 à 15:11:14  profilanswer
 

ouais !!!!   :kaola:


---------------
ma vie, mon oeuvre - HomePlayer
n°508718
Taz
bisounours-codeur
Posté le 05-09-2003 à 16:25:43  profilanswer
 

DarkLord a écrit :


 
et encore bcp plus de bugs incompréhensibles du /à la mauvaise utilisation de l'héritage multiple :o
 
:kaola:

vous énervez pas, sam a posé une question sur la cat Java mais son sujet est plus large. c'est dingue, vous voulez jamais discuter

n°508729
benou
Posté le 05-09-2003 à 16:28:36  profilanswer
 

Taz a écrit :

vous énervez pas, sam a posé une question sur la cat Java mais son sujet est plus large. c'est dingue, vous voulez jamais discuter


 :??: je suis calme moi.
 
dark et moi on a argumenté, j'attend le contre-argument ...


---------------
ma vie, mon oeuvre - HomePlayer
n°508751
darklord
You're welcome
Posté le 05-09-2003 à 16:37:59  profilanswer
 

benou a écrit :


 :??: je suis calme moi.
 
dark et moi on a argumenté, j'attend le contre-argument ...


 
+1 j'ai juste mis un  :kaola: pour souligner mon indigniation stou :o


---------------
Just because you feel good does not make you right
n°508779
Taz
bisounours-codeur
Posté le 05-09-2003 à 16:52:04  profilanswer
 

benou a écrit :


 :??: je suis calme moi.
 
dark et moi on a argumenté, j'attend le contre-argument ...

les kaola et et les accusations de troll, c'est ce que t'appelle etre calme.
 
pour l'argument d'erreur avec l'heritage multiple, je n'est pas assez d'expérience, mais j'avoue ne pas voir ou est vraiment le danger. après comme tu dis, faire avec un langage sans héritage multiple, c'est laborieux, et comme on le sait tous, plus y a de code plus y a d'erreurs. et ça me pose une question: comment ne pas passer son temps à tout réécrire / faire du travail sain: il me semble que la composition a ses limites. alors oui c'est laborieux, mais ecrire en asm ça l'est aussi. la relation traditionnelle en losange devient quand même galère  
 
      A
 
B(A)    C(A)
 
 
   D(B, C)
 
 
comment on fait en java ? il faut que D est l"interface" de A, B, C et soit a part entière un A, un B, et un C. un exemple s'il vous plait  :jap:
 
 
edit: j'envisage bien de faire une interface par objet, mais quelle galère !


Message édité par Taz le 05-09-2003 à 16:53:12
n°508786
darklord
You're welcome
Posté le 05-09-2003 à 16:53:46  profilanswer
 

on fait pas [:spamafote]


---------------
Just because you feel good does not make you right
n°508793
Taz
bisounours-codeur
Posté le 05-09-2003 à 16:56:48  profilanswer
 

la bonne excuse ...

n°508805
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-09-2003 à 17:04:57  profilanswer
 

Taz a écrit :

la bonne excuse ...


T'as un exemple concret ? :/ Passke j'ai du mal à comprendre c'que tu veux faire. L'héritage en diamant, c'est un concept horrible : imagine que dans B tu surcharges une méthode de A et pareil dans C mais d'une façon différente. Dans D, quand tu fais super.maMethode(), c'est laquelle qui sera choisie ? :??:
'fin chépa, moi c'est conceptuellement que ce genre de truc me pose un problème, c'est même pas lié au langage [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°508807
Kristoph
Posté le 05-09-2003 à 17:08:08  profilanswer
 

Taiche a écrit :


T'as un exemple concret ? :/ Passke j'ai du mal à comprendre c'que tu veux faire. L'héritage en diamant, c'est un concept horrible : imagine que dans B tu surcharges une méthode de A et pareil dans C mais d'une façon différente. Dans D, quand tu fais super.maMethode(), c'est laquelle qui sera choisie ? :??:
'fin chépa, moi c'est conceptuellement que ce genre de truc me pose un problème, c'est même pas lié au langage [:spamafote]


 
Aucune, l'appel étant ambigüe, le C++ te demandera d'expliciter laquelle sera appelée.

n°508815
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-09-2003 à 17:15:35  profilanswer
 

Kristoph a écrit :


Aucune, l'appel étant ambigüe, le C++ te demandera d'expliciter laquelle sera appelée.


Bin ui mais le langage mis à part, je comprends pas conceptuellement l'intérêt du bordel [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°508817
Taz
bisounours-codeur
Posté le 05-09-2003 à 17:17:07  profilanswer
 

Kristoph a écrit :


 
Aucune, l'appel étant ambigüe, le C++ te demandera d'expliciter laquelle sera appelée.

et d'autres langages aussi.
 
des exemples ? ben un truc tout bête, y a quelque jours, je bricolais, et j'ai fabriqué mes propres exceptions. chaque classe d'exception transporte un message textuel (et dans mon cas une référence à un objet)
 
std::exception est bien évidemment ma classe mère
 
ExceptionA correspond à un certain type d'erreur.
ExceptionB correspond à un deuxième type d'erreur
 
 
je codais et puis je suis tombé sur un endroit ou j'avais du code  qui devait lancer une exception. mais cette exception relève autant du problème A que tu problème B. donc il me fallait une classe ExceptionAB héritant de ses deux classes d'exceptions. et c'est très bien
 
à certains endroit, j'attrape des A, à d'autres de B, en encore à un autre des AB

n°508819
Taz
bisounours-codeur
Posté le 05-09-2003 à 17:19:01  profilanswer
 

Taiche a écrit :


Bin ui mais le langage mis à part, je comprends pas conceptuellement l'intérêt du bordel [:spamafote]

ben l'héritage multiple me parait être une relation naturelle. j'ai moi même 2 géniteurs.

n°508824
kadreg
profil: Utilisateur
Posté le 05-09-2003 à 17:26:47  profilanswer
 

Taz a écrit :

ben l'héritage multiple me parait être une relation naturelle. j'ai moi même 2 géniteurs.  


 
 :heink:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°508827
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-09-2003 à 17:30:31  profilanswer
 

Taz a écrit :

ben l'héritage multiple me parait être une relation naturelle. j'ai moi même 2 géniteurs.  


J'vois pas très bien le rapport avec l'héritage (au sens Prog, hein [:ddr555]). Ou alors c'était une blague [:sisicaivrai]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°508830
Taz
bisounours-codeur
Posté le 05-09-2003 à 17:33:48  profilanswer
 

Taiche a écrit :


J'vois pas très bien le rapport avec l'héritage (au sens Prog, hein [:ddr555]). Ou alors c'était une blague [:sisicaivrai]

ben moi et mes clones, on partage les caractéristiques de mes parents (ie leur code).

n°508835
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-09-2003 à 17:43:30  profilanswer
 

Taz a écrit :

ben moi et mes clones, on partage les caractéristiques de mes parents (ie leur code).


:non:
Tes parents savent faire des trucs que tu sais pas faire. T'es pas une spécialisation de tes deux parents. Comme t'es de la même famille, par contre, on peut parler d'une relation d'agrégation à l'intérieur de la famille ; j'te mettrais dans le même package, lors de l'implémentation [:ddr555]
 
Ah pis sinon, une autre question pratique sur l'héritage multiple : t'as un membre public de ta classe A, t'utilises quelle instance dans ta classe D ? Celle de B ou celle de C ? Dans la mémoire, t'hérites des deux ? Si oui, ça pose pas un problème de redondance ? Sinon, sur quoi est basée la sélection ?
'fin ch'ais pas, dans tout ce qu'on m'a appris on m'a toujours dit que l'héritage multiple apportait plus de problème qu'il n'en résolvait [:spamafote] Du coup, j'en ai pratiquement jamais fait mais en même temps j'en ai pas eu besoin, tout ce que j'ai fait je me suis basé sur de l'héritage simple. Donc j'me demande surtout si y a un réel besoin pour cette fonctionnalité qui ne saurait pas être résolu par de l'héritage simple avec interfaces.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°508836
Taz
bisounours-codeur
Posté le 05-09-2003 à 17:46:35  profilanswer
 

la redondance est évitée par un mécanisme virtuel (virtual en C++, à spécifier explicitement) qui assure l'unicité de chaque base

n°508865
benou
Posté le 05-09-2003 à 18:44:17  profilanswer
 

je suis d'accord avec Taz : l'héritage multiple a vraiment un sens. Il y a des cas où c'est utile et d'autres cas, où conceptuellemet il est normal de dire qu'une classe peut "prendre 2 casquettes"
 
Par contre, l'implémentation et l'utilisation de ce genre de cas est plus difficile et c'est généralement la source de pas mal d'incompréhension et de bug vicelard.
 
Bref, dans un but de simplification, en Java il a été choisit de ne pas faire d'héritage multiple. Par contre, ils ont tout miser sur le concept d'interface qui remplit 95% des besoins. Pour les 5% restant (quand on a VRAIMENT besoin d'héritage multiple), on peut émuler cet héritage multiple par une bête agrégation.
 
exemple :  
 

Code :
  1. interface A {
  2.    public void a();
  3.    public void coucou();
  4. }
  5. class AImpl implements A {
  6.    public void a() { System.out.println("a" ); }
  7.    public void coucou() { System.out.println("Coucou, je suis un A" ); }
  8. }
  9. interface B {
  10.    public void b();
  11.    public void coucou();
  12. }
  13. class BImpl implements B {
  14.    public void b() { System.out.println("b" ); }
  15.    public void coucou() { System.out.println("Coucou, je suis un B" ); }
  16. }
  17. interface AB extends A, B {};
  18. class ABImpl implements AB {
  19.    private A a;
  20.    private B b;
  21.    public class ABImpl {
  22.       this.a = new A();
  23.       this.b = new B();
  24.    }
  25.    public void a() { this.a.a(); }
  26.    public void b() { this.b.b(); }
  27.    public void coucou() {
  28.       // ici on a le choix : appeler a, appeler b ou spécialiser
  29.       System.out.println("Coucou, je suis un A et un B" );
  30.    }
  31. }


 
 
remarque : dans ABImpl, je peux très bien hériter de A et agréger B pour éviter d'avoir à implémenter les méthodes de A.
 
donc, ok, c'est plus chiant à écrire (ca peut se faire de façon automatique), mais on a exactement le comportement de l'héritage multiple.


---------------
ma vie, mon oeuvre - HomePlayer
n°508874
Taz
bisounours-codeur
Posté le 05-09-2003 à 18:57:41  profilanswer
 

comme je pensais. tu as des outils précis quand tu parles de « écriture automatique »
avoue que c'est chiant quand même, surtout pour des classes qui ne font rien, et tu l'élude pas le problème de la relation en losange: la composition entraine la redondance. mais ... j'ai l'impression que Sun a voulu se simplifier la tache plutot qu'autre chose. par ce que franchement il existe beaucoup de langages qui supportent l'héritage multiples, et quant à leur programmeurs et bien, certains ignore complètement celà, d'autre y trouve leur bonheur, et certains utilisent des classe abstraites comme interface. donc en fait je me pose la question: en terme d'utilisation, n'y a t il pas plus de raison de fournir l'héritage multiple plutôt que non? mais là je dévie du sujet

n°508890
benou
Posté le 05-09-2003 à 19:16:50  profilanswer
 

Taz a écrit :


tu as des outils précis quand tu parles de « écriture automatique » avoue que c'est chiant quand même


Non, je n'ai jamais vu d'outil proposant ce genre de truc.
1) je suis capable de le faire en 1 heure
2) si aucun IDE ne le propose alors que c'est très simple à faire, y a un raison : on ne s'en sert quasiment jamais !!!!
 

Taz a écrit :


... surtout pour des classes qui ne font rien, et tu l'élude pas le problème de la relation en losange: la composition entraine la redondance.  


 :heink:  
explique moi le problème du losange parce que je vois pas. Autant dans le cas des langage à héritage multiple ca pose problème, mais là avec des interface, pas de soucis !
 

Taz a écrit :

j'ai l'impression que Sun a voulu se simplifier la tache plutot qu'autre chose.


 :lol: bha tiens. Parce que tu crois que c'est n'importe quel bozo qui a créé le Java ??? Ne pas avoir intégré l'héritage multiple est un choix, pas une lacune. Pour qui te prend tu pour émettre ce genre de jugement.  
"Hahaha, Sun même pas capable de faire de l'héritage multiple"
 :pfff:  
 
 

Taz a écrit :

quant à leur programmeurs et bien, certains ignore complètement celà, d'autre y trouve leur bonheur, et certains utilisent des classe abstraites comme interface.  


c'est bien ca le problème !!!!
certains développeurs vont utiliser des librairies utilisant des notions qu'ils ne connaissent pas. Et en cas de problème, ils vont en chiser pour comprender pourquoi ca ne marche pas puisqu'ils ne seront même pas capable de comprendre pourquoi ca devrait marcher.
 
Le java c'est simple : tu arrives rapidement à saisir toutes les fonctionnalités du langage.
 
En tout cas, personnelement, j'ai très rarement été confronté au problème de l'héritage multiple et j'ai systématiquement trouvé le moyen de m'en sortir très facilement.  
Donc, de part mon exepérience, je trouve que Sun a eu raison de ne pas complexifié son langage, juste pour gérer quelques cas rares, qui sont de toutes façon saulvable au prix d'un petit effort.


Message édité par benou le 05-09-2003 à 19:17:30

---------------
ma vie, mon oeuvre - HomePlayer
n°508893
Taz
bisounours-codeur
Posté le 05-09-2003 à 19:22:26  profilanswer
 

bon, je bataille pas...
 
pour en revenir au losange, si A et B hérite toujours de quelque chose (dans certains langages, comme Java, c'est une classe mère de tout, mais on prends le cas d'une classe M) et bien chaque instance d'AB posséde en double les membres M. et ça c'est problématique. apparaitre comme etre un A et un B, c'est bien, mais ça ne suffit pas.
 
il me semble pas que l'héritage multiple soir quelque chose de difficile à comprendre, du moins, c'est peut etre aussi(plus) rapide que de comprendre la présence et de classes, et de classes abstraites et d'interfaces (la réponse étant : par ce que y a pas d'héritage multiple ; )

n°508897
benou
Posté le 05-09-2003 à 19:29:03  profilanswer
 

Le fait d'avoir une arborescence est bien plus simple que d'avoir une architecture en graphe ...
 
ton problème avec les attributs membre c'est typiquement le genre problème à la con avec l'héritage multiple.
 
Alors que quand tu penses en terme d'interface, cad de contrat que doivent remplir les objets, ce problème n'existe plus.
 
C'est dans ce sens là que le dit que Java a fait le choix de la simplicité.
 
Da plus, l'existance des interface & classes abstraites n'a rien à voir avec l'héritage multiple. C'est un concept très puissant. Il permet de régler le problème d'héritage multiple mais c'est pas ca le but [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°508898
benou
Posté le 05-09-2003 à 19:29:23  profilanswer
 

Taz a écrit :

bon, je bataille pas...


T'as commencé, tu finis :o


---------------
ma vie, mon oeuvre - HomePlayer
n°508900
Taz
bisounours-codeur
Posté le 05-09-2003 à 19:35:45  profilanswer
 

benou a écrit :

Alors que quand tu penses en terme d'interface, cad de contrat que doivent remplir les objets, ce problème n'existe plus.

oui mais une interface, c'est du vent, rien de concret
 
 

Citation :

ton problème avec les attributs membre c'est typiquement le genre problème à la con avec l'héritage multiple.

ben non, au contraire, c'est parfaitement gérer
 
la notion d'héritage multiple est manipulée par les connaisseurs, l'argument de la simplicité me satisfait pas vraiment, surtout que ça n'est pas très sorcier il me semble.
 
 
en fait mon vrai problème avec Java, c'est que je ne comprends pas sa conception    [:spamafote]

n°508903
schnapsman​n
Zaford Beeblefect
Posté le 05-09-2003 à 19:40:36  profilanswer
 

Taz a écrit :

 
en fait mon vrai problème avec Java, c'est que je ne comprends pas sa conception    [:spamafote]


 
ils ont fait tout un tas de choix à la conception, dans l'idée de prendre tout ce qu'il y avait de bien dans les langages impératifs OO existants, en écartant l'inutile et le compliqué.
 
Evidement, les choix qu'ils ont faits sont discutables.


Message édité par schnapsmann le 05-09-2003 à 19:41:06
n°508930
benou
Posté le 05-09-2003 à 20:01:07  profilanswer
 

Taz a écrit :

oui mais une interface, c'est du vent, rien de concret


[:smiley qui se tape sur le front]
 
Les interfaces c'est la base de tout !!! C'est la définition des messages échangés entre les objets, ce qui est la base de la programmation objet.
 
Quand tu as les interfaces tu as 70% du prog. Le reste c'est plus que de la bête implémentation et du cablage.  
 
Je suis étonné que tu t'en rende pas compte de l'intérêt de la chose [:mlc]  
C'est de l'abstraction pure. C'est quand même une notion répandue en programation : t'as la même chose en Ada ...


---------------
ma vie, mon oeuvre - HomePlayer
n°508932
schnapsman​n
Zaford Beeblefect
Posté le 05-09-2003 à 20:03:23  profilanswer
 

benou a écrit :


[:smiley qui se tape sur le front]
Quand tu as les interfaces tu as 70% du prog. Le reste c'est plus que de la bête implémentation et du cablage.  


 
le fond algorithmique, ça a aussi son importance [:meganne]

n°508936
benou
Posté le 05-09-2003 à 20:07:08  profilanswer
 

SchnapsMann a écrit :


le fond algorithmique, ça a aussi son importance [:meganne]


bha, les algos qu'on manipule dans la prog de tous les jours sont quand même vachement basiques. La conception de l'architecture du prog est bien plus importante, tu penses pas ?


Message édité par benou le 05-09-2003 à 20:07:52

---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Pour les pros de la POO: L'utilité de l'Interface ?

 

Sujets relatifs
[Interface graphique] Cardinalités dans le modèle MVC ?Application Java et Single Document Interface : besoin d'aide
[flash]interface qui va en local mais pas sur serveur.Pour les pros de JAVA et JSP
[C# POO] Surcharge et definitionSignification/utilité de PRIMARY KEY (ID)
Pour les pros d'Oracle et du DUMP[C++] Accéder à l'interface d'une Dll
[ASP] au pros de boucles[PHP] utilité de isset?
Plus de sujets relatifs à : Pour les pros de la POO: L'utilité de l'Interface ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR