generics : faire un "bridge" [Tiger] - Java - Programmation
Marsh Posté le 26-01-2005 à 19:09:21
deux questions/remarques:
- pourquoi tu réutilises pas le meme topic?
- déjà dit, mais avec un cas d'utilisation concret, non seulement on comprendrait mieux ton problème, mais il est aussi probable que toi aussi... non ?
Marsh Posté le 27-01-2005 à 09:23:28
1) ben c'est parce que à part le fait que ce soit des generics, ça ne traite pas du même cas ...
2) Ben si tu veux, dans mon projet MyAbstractClass est le type Population (class abstraite). Et MyClass est une population particulière, par exemple FishPopulation
J'ai donc mon cadre générique avec Population et Parameters. Et j'ai une application qui utilise ce cadre avec les classes FishPopulation et FishPopulationParameters (pour SomeParameters dans l'exemple). Je veux juste avoir à spécifier comment ces FishPopulationParameters initialisent une FishPopulation, et ensuite ma population (FishPopulation) sera initialisable avec son attribut FishPopulationParameters.
Marsh Posté le 27-01-2005 à 09:51:57
Citation :
|
KAMOULOX §§§§
Marsh Posté le 27-01-2005 à 11:39:06
Il me semble que ce que je fait, n'est ni plus ni moins qu'un bridge :
http://www.dofactory.com/Patterns/PatternBridge.aspx
Le tout est donc de faire un bridge avec des generics
Marsh Posté le 27-01-2005 à 12:29:24
c'est quoi un "Parameter" ? tu as des exemples concret de ce que c'est ?
Marsh Posté le 27-01-2005 à 12:56:55
Bin SomeParameters est un exemple.
Plus concret si tu veux, Je peux avoir un FishPopulationParameters qui servent à initialiser les attributs de ma FishPopulation du genre, une population qui a besoin de deux attributs pour initialiser l'âge de ses membres selon une gaussienne :
Code :
|
Du coup mon FishPopulationParameters ressemblerait à :
Code :
|
Marsh Posté le 26-01-2005 à 18:34:09
Bon me revoilà avec les generics
Soyez indulgents et tapez pas trop fort
Mon idée de départ :
J'ai une interface qui va servir à initialiser des objets :
Par la suite, j'essaye de coder une classe abstraite qui possède un attribut de type Parameters, et apelle la fonction init sur elle-même. En non générique ça donnerai ça :
En commentaire, c'est le warning donné par eclipse. C'est normal, j'affecte un type brut à un type paramétré !
Je continue avec cet exemple en type brut, pour montrer à quoi me sert tout ça :
Voilà, avec ce design-pattern (il a un nom ? ), j'ai juste à instancier mon objet avec un Parameters, et la méthode initFromParameters() héritée me permet d'initaliser cet objet.
Mais bon revenons-en à mon warning. Je vais essayer d'utiliser un type générique jusqu'au bout ...
Voilà toutes les tentatives infructueuses que j'ai faites
Premier essai :
En commentaire l'erreur affichée.
C'est normal, parameters est un sous-type de Parameters<MyClass2> qui n'est pas affectable à Parameters<MyAbstractClass2>
OK, j'ai cas bounder le paramétrage de ce Parameters :
Mais bon ça marche pas.
J'avais aussi essayé en "sous-boundant", mais c'était trop restrictif :
En désespoir de cause, j'ai tenté ça :
Je vais continuer à lire les différentes docs ...
Message édité par bobuse le 27-01-2005 à 11:39:36
---------------
get amaroK plugin