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

  FORUM HardWare.fr
  Programmation
  Java

  héritage multiple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

héritage multiple

n°1049436
TheRom_S
Posté le 16-04-2005 à 03:25:51  profilanswer
 

Salut, je voudrais être sûr d'un truc :
- j'ai une classe de base à laquelle je compte ajouter des fonctionnalités.
- J'ai différents sets de fonctionnalités et je dois pouvoir ajouter plusieurs sets à ma classe.
- Je dois aussi pouvoir utiliser ces fonctionnalités à partir d'une autre classe en passant la première comme argument.
 
Mon problème est que :
- si je passe comme type de classe celui de la classe de base (une abstract), je n'aurai pas accès aux fonctionnalités (évidemment)
- si je construits tout un tas de classe "extends" ma classe de base, je ne peux plus passer un type particulier (je ne peux pas ordonner mes héritages sous forme d'un arbre par ex)
 
Donc je me dis pourquoi pas utiliser des interfaces ...
 
Bref, si je prépare des interfaces pour mes sets de fonctionnalités, pourrais-je passer ma classe sous un type ayant le nom de mes interfaces ?
ex :  
public class A implements B,C {
   public B returnB() { return this; }
   public C returnC() { return this; }
}
--> ça marche ça ???
(merci pour vos réponses)


Message édité par TheRom_S le 16-04-2005 à 03:26:46

---------------
The Rom's, à votre service
mood
Publicité
Posté le 16-04-2005 à 03:25:51  profilanswer
 

n°1049465
gizmo
Posté le 16-04-2005 à 09:38:24  profilanswer
 

A ta place je regarderais plutôt du côté du pattern decorator, si j'ai bien compris ton problème.

n°1049514
benou
Posté le 16-04-2005 à 12:01:35  profilanswer
 

TheRom_S a écrit :


public class A implements B,C {
   public B returnB() { return this; }
   public C returnC() { return this; }
}
--> ça marche ça ???
(merci pour vos réponses)


oui mais ca sert à rien. ta classe A "est un" B et "est un" C. Les méthodes sont inutiles :

Code :
  1. A a = nes A();
  2. // tu veux la fonctionnlaité des interfaces B
  3. // avec ta méthode :
  4. B b = a.returnB();
  5. // sans ta méthode :
  6. B b2 = a;

n°1049711
TheRom_S
Posté le 16-04-2005 à 15:40:32  profilanswer
 

gizmo a écrit :

A ta place je regarderais plutôt du côté du pattern decorator, si j'ai bien compris ton problème.


ce pattern est pas mal, mais pas adapté à mon cas pour d'autres raisons ...

benou a écrit :

oui mais ca sert à rien. ta classe A "est un" B et "est un" C.


oui c'est juste l'exemple le plus simple à écrire que j'ai trouvé, au final ça aurait plutôt l'air de :
class D : void truc(B classB) { ... }
et l'appel : classD.truc(classA);
 
bref ca marche, merci à vous deux


---------------
The Rom's, à votre service

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

  héritage multiple

 

Sujets relatifs
classe abstraite generique + heritageHeritage et J2ME
heritage mutliple en javaHeritage
probleme d'héritageOO héritage multiple
Héritage multiple en Delphi ???[C++] : héritage multiple: comment ça marche ??
[C++ extreme ...] héritage virtuelle multiple et cast[C++] Overload & Heritage multiple
Plus de sujets relatifs à : héritage multiple


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