Diciamo che ho una classe Person.
class Person{
Person(std::string, int);
void walk();
void talk();
void eat();
private:
int age;
std::string() name;
};
Ora diciamo che voglio aggiungere personalità a questo oggetto persona. Come dovrebbe aggiungere questa funzione a questa persona?
Stavo pensando all'eredità
class Persona: public Person{
void charisma();
void voice();
void style();
};
o dovrei usare la composizione?
class Persona{
void charisma();
void voice();
void style();
};
class Person{
.....
private:
int age;
std::string name;
Persona _persona;
};
o dovrei semplicemente aggiungere la nuova funzione direttamente a class Person
, che davvero non voglio perché questo renderà il mio class Person
grande e maldestro.
Una cosa che ho trovato è Decorator Pattern , ma mi sto ancora chiedendo se questo schema sia di qualche aiuto per me.