È preferibile scrivere programmi che dipendono dalle interfacce piuttosto che dalle superclassi, ma cosa succede se si desidera che una classe abbia determinate variabili? A volte vuoi che una classe implementa una certa variabile. (Ad esempio, immagina di avere un'interfaccia dell'origine dati e desideri che tutte le classi implementino un "utente String").
In questo caso, posso vedere la creazione di un'origine dati di classe astratta, che le altre classi potrebbero quindi estendere. Ma questo significa che non possono più estendere un'altra classe, a causa dell'ereditarietà multipla in Java.
Quindi, per concludere, se avessi lo scenario di cui sopra, dovrei ripensare il mio design, o c'è un pattern che non conosco a riguardo per poter realizzare il design con interfaccia con variabili?