[Héritage] Modification d'héritage : design pattern strategy
Après quelques recherches infructueuses sur le forum,
je me décide à poster mon problème :
comme le dis le titre je cherche à modifier un héritage en cours de travail...
Supposons trois classes simplifiées qui imagent mon problème:
Le boulot : Prendre en charge un fichier pour l'ajouter ses infos dans une Base.
Une classe mère qui s'occupe de gérer les connexions à la base et la lecture ligne par ligne du fichier.
Code:
1 2 3 4 5 6
| class Mere{
Connection * MysqlConnect;
fstream fs_FileData
virtual bool maRequete =0;
} |
Deux filles qui héritent de Mère et qui permettent de prendre en charge deux types différents de fichiers (différenciés par leur extension)
Code:
1 2 3 4 5 6 7 8 9 10 11
| class FilleA{
virtual bool maRequete{
/*une requete*/
}
}
class FilleB{
virtual bool maRequete{
/*une requete différente*/
}
} |
Voilà le but recherché :
Je cherche à mettre en place une fonction
Code:
bool NewFile(NouveauFichier); //Permet la prise en charge d'un nouveau fichier
dans la classe Mère.
Celle-ci doit permettre de modifier flot sur le fichier (ça c'est simple)
mais j'aimerai également pouvoir prendre en charge un autre type de fichier.
Ce qui veut dire passer de FilleA à FilleB sans perdre la mère,
et surtout sans perdre la connection à la base de donnée !!
Je pensais modifier l'héritage sans pour autant détruire et recréer l'objet
Mais je ne sait pas du tout si c'est possible :(
Si quelqu'un à pas compris faut taper :)
et si quelqu'un a une meilleure définition pour le titre ca permettra d'aider les Rechercheurs ;)