Ho faticato a capire i motivi per cui gli sviluppatori di dattiloscritti hanno scelto il modo in cui hanno implementato l'ereditarietà.
Ciò che mi aspetterei da qualsiasi lingua che supporti l'ereditarietà è l'ordine di lavoro:
- Le proprietà inizializzate della classe derivata vengono inizializzate
- Le proprietà inizializzate della classe base sono inizializzate
- Il costruttore della classe base viene eseguito
- Il costruttore della classe derivata viene eseguito
Che cosa apparentemente succede:
- Le proprietà inizializzate della classe base sono inizializzate
- Il costruttore della classe base viene eseguito
- Le proprietà inizializzate della classe derivata vengono inizializzate
- Il costruttore della classe derivata viene eseguito
Non ho ancora capito quali tipi di benefici derivano dall'implementazione di questo tipo di eredità
La mia domanda si riduce a questo:
Quali tipi di progetti rendono perfetta questa implementazione dell'ereditarietà?
EDIT: link pertinente alla discussione: link