Re: Fwd: Problème de ClassLoader rigolo (ou pas)
jerome moliere <[email protected]> Tue, 18 Oct 2011 19:19:00 +0200
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <CAEGYFEKY1bdqnXsumgQ=yOmjOtBEYB0wQjd6qXw2WPUthwkKJA@mail.gmail.com> |
Le 18 octobre 2011 19:14, R=C3=A9mi Forax <[email protected]> a =C3=A9crit = : > Java 8 n'introduira pas d'h=C3=A9ritage multiple > mais une forme sympathique de traits (pas ceux de Scala). > En quelque mot, tu auras la possibilit=C3=A9 de mettre du code dans une m= =C3=A9thode > d'une interface, si une classe qui implante l'interface ne founi pas de > code, > celui d=C3=A9clarer dans l'interface sera choisie. > Si on implante deux interfaces et que chacune produit du code pour une m= =C3=AAme > m=C3=A9thode, > le code ne compilera pas et il faudra fournir un nouveau pour la m=C3=A9t= hode > sachant que l'on pourra appeler le code des interfaces dont on h=C3=A9rit= e. > les defaults static en effet j'ai conscience que c'est pas simple de refactorer de l'int=C3=A9rieur sans p=C3=A9ter l'API mais je trouve cela un= peu bidouille et cracrac mais cela n'est que mon avis et cela ressemble fortement (je dis bien RESSEMBLER) =C3=A0 de l'h=C3=A9ritage multiple mais= la nuance existe et tu fais bien de l'apporter... > Cela devrait r=C3=A9soudre le plus gros prob=C3=A8me des interfaces, > le fait que l'on ne peut pas les faires =C3=A9voluer dans le temps en ajo= utant > des m=C3=A9thodes. En effet, il sera binary compatible d'ajouter une m=C3= =A9thode > si l'on fourni un code. > > Maintenant, ce ne devrait pas =C3=AAtre une r=C3=A9volution mais juste un= e fa=C3=A7on > d'=C3=A9tendre des interfaces de la m=C3=AAme fa=C3=A7on que l'on =C3=A9t= ant une classe > abstraite mais sans pouvoir ajouter de champs donc pas d'h=C3=A9ritage mu= ltiple. > > Enfin pour ce qui est des lambdas, je pense qu'il n'y a pas photos entre > =C2=A0Collections.sort(list, new Comparator<String>() { > =C2=A0 =C2=A0public int compare(String s1, String s2) { > =C2=A0 =C2=A0 =C2=A0 return s1.compareIgnoreCase(s2); > =C2=A0 =C2=A0} > =C2=A0}; > et > =C2=A0list.sort((s1, s2) -> s1.compareIgnoreCase(s2)); > ou mieux > =C2=A0list.sort(String::compareIgnoreCase); > > J'esp=C3=A8re que l'on arrrivera =C3=A0 sortir le premier draft public > de la spec =C3=A0 la fin du mois. > j'esp=C3=A8re aussi j'ai essay=C3=A9 de bidouiller avec l'existant mais pas encore user friendly =C3=A0 installer pour faire mumuse ....-) Jerome