Java, utilisation de 1 classe pour 2 classes différentes
Bonjour,
J'ai un problème assez complexe à expliquer.
Contexte: Je dois attaquer 2 bases de données différentes (oracle et postgresql) pour générer du flux SVG.
Pour l'instant j'ai
3 classes:
-GetFromBd: Elle contient la grosse partie des requêtes. En fait il s'agit du code qui peut être similaire pour les deux bases de données (les simples 'select from')
-GetFromBdOra et GetFromBdPost: Elles héritent de GetFromBd et contiennent chacune le code propre a leurs systèmes de gestion des formes géométriques dans des base de donnée
1 interfaces:
-GetFromBdInter: Elle contient la déclaration des méthodes de GetFromBdOra et GetFromBdPost
Donc on a
-GetFromBd
-GetFromBdOra extends GetFromBd implements GetFromBdInter
-GetFromBdPost extends GetFromBd implements GetFromBdInter
-GetFromBdInter
Pour l'instant je fais (en gros...)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
if(ORA)
{
GetFromBdOra getfrombdora;
getfrombdora.uneMethodeDeGetFromBd();
getfrombdora.uneMethodeDeGetFromBdOra();
}
else if(POST)
{
GetFromBdPost getfrombdpost;
getfrombdpost.uneMethodeDeGetFromBd();
getfrombdpost.uneMethodeDeGetFromBdPost();
} |
J'aimerais pouvoir faire:
Code:
1 2 3 4 5 6 7 8
|
UneClasseMagique classemagique;
//1ere opération
classemagique.uneMethodeDeGetFromBd();
//2eme opération
classemagique.uneMethodeDeGetFromBdOraOuPost(); |
Vu que les 2 classes hérites de GetFromBd(), je pourrais faire la première opération.
La ou je cale, c'est pour la 2eme opération.
Je pensais utiliser un objet "GetFromBdInter" (=interface qu'implémente les 2 classes) mais si je fais ca, impossible de réaliser la première opération. Vu que l'objet n'hérite pas de GetFromBd!
Quelqu'un a comprit? :D