Il comportamento della funzione dipende dalla classe chiamante [chiusa]

1

Ho una classe base B e diverse classi di bambini.

Ogni bambino B1, B2, B3 ... ha un metodo che chiama un metodo M di un'altra classe C.

La classe C ha un componente D (che implementa un'interfaccia, un modello di strategia di pensiero)

Il metodo M chiama un metodo N di D.

Voglio che il comportamento di N dipenda da quale classe (B1, B2, B3) sta chiamando in primo luogo.

Quale sarebbe il modo migliore per farlo? Forse la struttura delle classi deve essere cambiata.

Bjarne Stroustrup nel suo libro C ++ suggerisce che il modo migliore per gestire un comportamento dipendente dal chiamante è usare il polimorfismo e avere un comportamento diverso per ogni classe B1 B2 ... Ma non posso usare questa soluzione qui. B e i suoi figli non sono a conoscenza di D.

    
posta Jacques 06.11.2015 - 02:20
fonte

0 risposte

Leggi altre domande sui tag