Domande taggate «inheritance»

L'ereditarietà è un modo per riutilizzare il codice di oggetti esistenti o per stabilire un sottotipo da un oggetto esistente o entrambi, a seconda del supporto del linguaggio di programmazione.




5
Dovrei preferire la composizione o l'eredità in questo scenario?
Prendi in considerazione un'interfaccia: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Questa interfaccia è implementata da un numero di classi che generano ondate di forme diverse (ad esempio, SineWaveGeneratore SquareWaveGenerator). Voglio implementare una classe che genera una SoundWavebasata su dati musicali, non su dati audio grezzi. Riceverà il …



5
Come implementare l'eredità RealNumber e ComplexNumber?
Spero non troppo accademico ... Diciamo che ho bisogno di numeri reali e complessi nella mia libreria SW. Basato sulla relazione is-a (o qui ), il numero reale è un numero complesso, dove b nella parte immaginaria del numero complesso è semplicemente 0. D'altra parte, la mia implementazione sarebbe che …

5
Va mai bene violare l'LSP?
Sto seguendo questa domanda , ma sto spostando la mia attenzione dal codice a un principio. Dalla mia comprensione del principio di sostituzione di Liskov (LSP), qualunque sia il metodo nella mia classe di base, devono essere implementati nella mia sottoclasse e, secondo questa pagina, se si ignora un metodo …


2
L'eredità di Python è uno stile di eredità "is-a" o uno stile compositivo?
Dato che Python consente l'ereditarietà multipla, che aspetto ha l'ereditarietà idiomatica in Python? In linguaggi con ereditarietà singola, come Java, l'ereditarietà verrebbe utilizzata quando si potrebbe dire che un oggetto "è-a" di un altro oggetto e si desidera condividere il codice tra gli oggetti (dall'oggetto padre all'oggetto figlio). Ad esempio, …

3
Ereditarietà: il codice dalla superclasse è virtualmente * copiato * nella sottoclasse o * è indicato dalla sottoclasse *?
La classe Subè una sottoclasse di classe Sup. Cosa significa praticamente? O in altre parole, qual è il significato pratico di "eredità"? Opzione 1: il codice da Sup viene praticamente copiato in Sub. (come in "copia-incolla", ma senza il codice copiato visualizzato visivamente nella sottoclasse). Esempio: methodA()è un metodo originariamente …

12
"Se un metodo viene riutilizzato senza modifiche, inseriscilo in una classe base, altrimenti crea un'interfaccia" è una buona regola empirica?
Un mio collega ha escogitato una regola empirica per scegliere tra la creazione di una classe base o un'interfaccia. Lui dice: Immagina ogni nuovo metodo che stai per implementare. Per ognuno di questi, considera questo: questo metodo sarà implementato da più di una classe esattamente in questa forma, senza alcuna …




Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.