|
Bas de page | |
---|---|
Auteur | Sujet : [Résolu] Généricité et héritage |
Publicité | Posté le 30-10-2009 à 09:44:42 |
Taz bisounours-codeur | C'est pas moche, c'est un upper cast. Tous les Lattice ne sont pas des IntervalLattice, il faut donc t'attendre à ce que la conversion échoue. |
Krukov | Salut Taz, et merci. edit : je ne dis pas que les cast sont pas bien, je dis juste que j'aimerai m'en passer Message édité par Krukov le 30-10-2009 à 10:15:19 |
cbeyls Hail to the King, Baby | Si dans ton code tu n'as qu'une seule variante de Lattice<IntervalPattern> qui est IntervalLattice, alors tu peux déclarer la variable l comme étant de type IntervalLattice, tu ne devras pas faire de cast!
Message édité par cbeyls le 30-10-2009 à 14:52:17 |
Krukov | Hello, et merci,
J'ai donc loupé quelque chose dans la généricité, et je ne trouve pas quoi... ps : un jour, j'avais fait un test débile avec Vector et ArrayList, remplir 1000000 objets et les supprimer, et dans mes souvenir le Vector était bien plus rapide. Tu suggères quoi ? (même si c'est pas l'objet du post ) Message édité par Krukov le 30-10-2009 à 16:44:30 |
cbeyls Hail to the King, Baby | Si la méthode renvoie un objet de type "E extends Pattern" alors pas besoin de cast, non?
|
cbeyls Hail to the King, Baby | Bon, après relecture je pense que tu fais trop compliqué et tu n'as pas besoin de types génériques partout. Tu devrais faire ceci:
|
Krukov | Merci pour ta réponse,
|
cbeyls Hail to the King, Baby | OK, j'ai compris ce que tu essayes de faire: tu veux qu'une implémentation spécifique de Lattice utilise une implémentation spécifique de Pattern, tout en utilisant des interfaces communes.
|
Krukov | J'ai écrit et tester ce que tu viens de me donner, et je dois dire que ...
|
Publicité | Posté le 02-11-2009 à 14:41:38 |
cbeyls Hail to the King, Baby | Il n'y a pas de warning avec la solution que je t'ai proposée je pense.
Message édité par cbeyls le 03-11-2009 à 02:40:54 |
cbeyls Hail to the King, Baby | Encore un petit détail: tu peux éventuellement utiliser une classe abstraite au lieu d'une interface si tu veux fournir des implémentations communes à toutes les classes qui l'"implémentent". Evidemment si la classe abstraite n'a aucune méthode implémentée, autant la transformer en interface d'où ma suggestion. Tu peux aussi combiner les 2: faire une interface puis une classe abstraite qui implémente partiellement l'interface et qui va être étendue par d'autres classes.
Message édité par cbeyls le 03-11-2009 à 02:31:10 |
Sujets relatifs | |
---|---|
[Résolu] Tri d'une matrice | [RESOLU] Probleme couleur PC et MAC en HTML!! HELP PLZ :) |
japplet petit soucis d'appel :/ | [Résolu][Trigger] mise a jour d'un champ lors de l'uptate d'un autre |
[Resolu][SOAP][PHP] Utilisation des paramètres | [RESOLU]Plusieurs requetes SQL en une seul sous forme de tableau |
[RESOLU]Modifier la mise en forme selon onClick | [Résolu] JBoss et Virtual Host |
Problème:boite de dialogue alert() avec chrome+safari - [Résolu] | [php/mysql] lancer un programme php en cas d'updates de MySql [resolu] |
Plus de sujets relatifs à : [Résolu] Généricité et héritage |