Domande con tag 'inheritance'

7
risposte

Ereditarietà usando una classe base non astratta

Questo post è basato sulla domanda link . Alcuni hanno detto - controlla se esiste una relazione "è-a". Se è lì usa l'ereditarietà. Quello che penso è che ci dovrebbe essere un secondo controllo per l'utilizzo dell'ereditarietà. Usa l'eredit...
posta 02.08.2012 - 11:05
1
risposta

"Super" vs "metodo protetto" per l'esecuzione di codice comune

In molte lingue, super() ti consente di chiamare il metodo genitore che hai sovrascritto. Ho utilizzato super nel mio Javascript (con un'implementazione orientata agli oggetti) per eseguire codice comune per un lungo periodo senza prob...
posta 18.05.2011 - 00:00
5
risposte

C'è qualcosa di sbagliato nell'avere una sola interfaccia da implementare più volte nella catena ereditaria?

interface IUser {} interface IConcreteUser : IUser {} abstract class UserBase : IUser {} class ConcreteUser : UserBase, IConcreteUser {} Come puoi vedere, ConcreteUser eredita IUser due volte - una volta ereditando da UserBase e seco...
posta 01.12.2016 - 16:39
3
risposte

È mai appropriato usare la sottotipizzazione per una relazione has-a?

Uno dei precetti di base della programmazione orientata agli oggetti è che la sottotipizzazione rappresenta la relazione "è-a". Cioè, il bambino è sempre una forma specifica del genitore. Un esempio comune è che un quadrato è una forma specifica...
posta 27.04.2016 - 15:05
3
risposte

Alla ricerca di un esempio del mondo reale che mostri che la composizione può essere superiore all'ereditarietà [chiusa]

Ho visto un sacco di conferenze su Clojure e programmazione funzionale di Rich Hickey e alcune delle conferenze di SICP, e sono venduto su molti concetti di programmazione funzionale. Ho incorporato alcuni di essi nel mio codice C # in un lavoro...
posta 27.11.2012 - 01:48
1
risposta

Sta usando l'ereditarietà protetta per nascondere (ma sfruttare) l'interfaccia implementata dal pubblico ok?

Recentemente, abbiamo discusso del codice usando l'ereditarietà protetta per nascondere il fatto (al codice client) che una classe eredita da una specifica classe base ma per sfruttare questo fatto nell'implementazione. Il seguente codice lo...
posta 12.08.2013 - 23:39
2
risposte

Perché il metodo _replace delle classi namedtuple Python è protetto?

Nella sezione Variabili dei nomi e delle varianti di metodo , la Python Style Guide (aka PEP 0008) dice: "Usa un trattino basso solo per metodi non pubblici e variabili di istanza". Perché allora il metodo _replace su namedtuple ha u...
posta 11.04.2016 - 05:24
2
risposte

Runtime Inheritance

Recentemente ho trovato il termine "ereditarietà del runtime" durante la lettura di questo articolo di Wikipedia. Ho provato a cercarlo e ho trovato questo articolo che prova a spiegare la differenza tra runtime e eredità della compilazione...
posta 02.08.2016 - 04:14
1
risposta

Ereditarietà, composizione e protocolli

Sto leggendo un libro su concetti generali orientati agli oggetti per cercare di acquisire una solida comprensione di tutto. Una cosa che mi sta buttando fuori è la differenza tra ereditarietà e composizione. So che in termini di ereditarietà, è...
posta 17.11.2014 - 20:02
3
risposte

Come rifattorizzare il mio disegno, se sembra richiedere più ereditarietà?

Recentemente ho fatto una domanda su classi Java che implementano metodi da due fonti (tipo come ereditarietà multipla). Tuttavia, è stato sottolineato che questo tipo di necessità può essere un segno di un difetto di progettazione. Quindi, pr...
posta 31.05.2014 - 06:13