Si, non sarebbe una soluzione molto comoda quella dell'interfaccia..In effetti questa mi sembra una soluzione abbastanza elegante e funzionale. Si sfrutta al massimo l'ereditarietà:Originariamente inviato da alka
In questo caso, credo che sia del tutto sufficiente creare una classe base generica che racchiude le caratteristiche comuni dei bonus in quanto tali, Bonus, e da questa creare tanti discendenti che implementino a loro modo i metodi virtuali e introducano tutte le specializzazioni necessarie in base alla tipologia di bonus, appunto, che rappresentano.
Nel caso vi siano più livelli di analogie che si possono accomunare, ad esempio famiglia differenti di bonus, basta creare nuove classi discendenti da Bonus, ciascuna che introduca le caratteristiche proprie della famiglia di bonus e da queste ereditare poi le classi dei bonus specifici.
Non mi sembra che vi sia bisogno di usare interfacce, in questo caso.
Le varie classi dei diversi bonus estenderanno la loro classe principale Bonus (che implementa i metodi comuni) che a sua volta estende Entity. Mi piace questa idea, grazie del consiglio!![]()