- Quando dovrebbe
implement
oextend
essere usato? - Quali sono alcuni esempi del mondo reale?
È corretto?
L'implementazione sembra essere un modo per imporre che determinati metodi esistano in una classe e che le chiamate alle funzioni di questi metodi siano formattate correttamente. L'implementazione non è un modo per passare variabili o "impostazioni" alla classe però?
Scenario di vita reale previsto: ho una piattaforma di e-commerce con più classi di pagamento che seguono tutte lo stesso design. Quando è necessario aggiungere una nuova classe di pagamento, è davvero facile seguire il design definito del interface
per garantire che tutti i pezzi siano presenti, dall'inizio.
L'estensione delle classi fa sì che la classe estesa (figlia?) Erediti tutto dalla sua classe genitore eccetto metodi e variabili dichiarati come private
?
Scenario di vita reale previsto: ho una classe chiamata sessions
con due classi figlie denominate sessioncookies
e databasesessions
. sessioncookies
e databasesessions
, insieme, ereditano una serie di opzioni di configurazione reciproca dalle loro sessioni padre, rendendo facile modificare un'opzione di configurazione per influenzare tutti i tipi di eventuale memorizzazione dei dati dei visitatori.