Domande con tag 'inheritance'

3
risposte

Esiste un nome specifico per il paradosso "Square inherits from Rectangle"?

Un certo fallimento di OOP è mostrato con una classe Square che eredita da Rectangle, dove logicamente Square è una specializzazione di Rectangle e dovrebbe quindi ereditarlo, ma tutto cade a pezzi quando si tenta di cambiare la lunghezza o la l...
posta 24.05.2013 - 19:20
1
risposta

Perché (/ did) Bertrand Meyer pensa che la sottoclasse sia l'unico modo per estendere un modulo "chiuso"?

Nella costruzione software orientata agli oggetti di Meyer (1988) definisce il principio aperto / chiuso come segue: A module will be said to be open if it is still available for extension. For example, it should be possible to add fi...
posta 02.10.2015 - 23:56
14
risposte

Come posso spiegare l'utilità dell'ereditarietà? [chiuso]

Quando si tenta di spiegare il concetto di ereditarietà in OOP, l'esempio comune è spesso l'esempio dei mammiferi. IMHO, questo è davvero un cattivo esempio, perché porterà i neofiti a usare questo concetto nel modo sbagliato. Inoltre, non è un...
posta 14.09.2011 - 10:45
4
risposte

Perché non esiste un modificatore di accesso "solo sottoclassi" in Java?

In Java, ci sono quattro modificatori di accesso disponibili per i metodi: public - qualsiasi classe può utilizzare questo metodo. protected - le classi nello stesso pacchetto e le sottoclassi in qualsiasi pacchetto possono utili...
posta 10.05.2014 - 02:40
2
risposte

Perché l'ereditarietà è vista generalmente come una brutta cosa dai sostenitori dell'OOP [duplicato]

Continuo a sentire l'espressione "Favorisci la composizione sull'ereditarietà" di GoF, che viene ripetutamente infastidita dal mio amico che pensa che si tratti di una dichiarazione generale valida, ma non è più ragionevole considerare che la...
posta 19.10.2014 - 00:14
1
risposta

Come verificare il principio di sostituzione di Liskov in una gerarchia ereditaria?

Ispirato alla risposta : Liskov Substitution Principle requires that Preconditions cannot be strengthened in a subtype. Postconditions cannot be weakened in a subtype. Invariants of the supertype must be preserved in a subtyp...
posta 17.10.2012 - 12:45
6
risposte

Scenari reali per metodi protetti

Oggi ho notato che praticamente non utilizzo mai metodi protected nel codice C ++, perché raramente sento il bisogno di chiamare metodi non pubblici di un genitore. Io uso protetto in Java nel modello di metodo del modello, ma dato che puoi...
posta 29.03.2011 - 19:08
2
risposte

Come evitare di scrivere molte funzioni pass-through in un wrapper?

Ho una classe, che avvolge un'altra classe di un tipo di base comune. Poiché l'interfaccia del tipo di base è piuttosto ampia, ciò comporta la scrittura di molte funzioni pass-through. Sto cercando un modo per evitarlo. Facciamo un esempio:...
posta 22.04.2013 - 23:30
3
risposte

Un'interfaccia è considerata 'vuota' se eredita da altre interfacce?

Le interfacce vuote sono generalmente considerate una cattiva pratica, per quanto ne so, specialmente dove cose come gli attributi sono supportate dalla lingua. Tuttavia, un'interfaccia è considerata "vuota" se eredita da altre interfacce?...
posta 21.07.2015 - 17:10
5
risposte

Ereditarietà vs proprietà aggiuntive con valore null

Per le classi con campi facoltativi, è meglio utilizzare l'ereditarietà o una proprietà nullable? Considera questo esempio: class Book { private String name; } class BookWithColor extends Book { private String color; } o class Boo...
posta 01.05.2016 - 22:23