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