bonjour à tous,
je me pose une question de design, j'en ai jamais trop fait alors ma question est peut être débile
Toujours est il, j'ai plusieurs classes qui peuvent mettre à jours des types particuliers (du style price, memo ... comme int et double sont des types). De plus, j'ai plusieurs classes qui peuvent mettre à jours ces types, mais pour d'autres ça n'a aucun sens de le faire :
Code :
- class Objet;
- class A, B, C; //A,B et C dérivent de la classe Objet
- A a, B b, C c;
- a->setPrice(12);
- b->setPrice(40); //les methodes de A et B ont le même code
- c->setPrice(45); //la ça n'aurait pas de sens de le faire...
|
j'ai pensé mettre la méthode virtuelle setPrice() dans la classe Objet mais du coup un objet de type C pourrait s'en servir.
Ou sinon un truc - peut être crado - du style je fais une methode _setPrice() en protected, dans Objet, qui contient le code, et une autre public "virtual setPrice()" qui ne fait rien. Et la classe qui dérive et veut ré-implémenter fera un truc du style :
Code :
- void A::setPrice(Price price)
- {
- return _setPrice(price);
- }
|
mais c'est bof, non ?
En fait, je voudrait faire de l'héritage "sélectif" ... ce serait quoi la meilleure manière de faire ? et la plus simple.
merci!
Message édité par in_your_phion le 31-07-2010 à 11:23:59