In generale, come faccio a decidere se usare la classe make come classe super o renderla un membro di dati privato di un'altra classe? Ad esempio, date due classi, come si decide se farlo:
public class Sprite {
private BaseImage image;
...
o questo:
public class Sprite extends BaseImage {
...
Funzionalmente, conosco la differenza: nel secondo caso, qualsiasi metodo che utilizza un'istanza della classe Sprite avrà accesso al comportamento BaseImage sottostante. Nel primo caso il comportamento dell'oggetto BaseImage è nascosto. Ma dal punto di vista del design, che è preferibile in quali casi?