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.
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 6 anni fa . Quindi volevo ereditare da a sealed classin csharp e mi sono …
Allo stato attuale, questa domanda non è adatta al nostro formato di domande e risposte. Ci aspettiamo che le risposte siano supportate da fatti, riferimenti o competenze, ma questa domanda probabilmente solleciterà dibattiti, argomenti, sondaggi o discussioni estese. Se ritieni che questa domanda possa essere migliorata e possibilmente riaperta, visita …
Ci sono alcune domande simili là fuori 1 ,2 ,3 ,4 , ma non sembra esattamente il caso in questa domanda, né le soluzioni sembrano ottimali. Questa è una domanda OOP generale, supponendo che siano disponibili polimorfismo, generici e mixin. Il linguaggio effettivo da utilizzare è OOP Javascript (Typescript), ma …
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 …
Ho lavorato sul refactoring del codice e penso di aver fatto il primo passo nella tana del coniglio. Sto scrivendo l'esempio in Java, ma suppongo che potrebbe essere agnostico. Ho un'interfaccia Foodefinita come public interface Foo { int getX(); int getY(); int getZ(); } E un'implementazione come public final class …
Ho due oggetti che rappresentano un "Bar / Club" (un posto dove bevi / socializzi). In uno scenario ho bisogno del nome della barra, dell'indirizzo, della distanza, dello slogan In un altro scenario ho bisogno del nome della barra, dell'indirizzo, dell'URL del sito web, del logo Quindi ho due oggetti …
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 …
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 …
Sebbene i documenti Java specifichino che i riferimenti deboli sono principalmente per la mappatura canonica, troverete molte , molte , molte persone su Internet che affermano che WeakHashMap è perfetto per archiviare i metadati degli oggetti durante la sua vita. Tuttavia, nessuno si preoccupa di fare un esempio comprensibile E …
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, …
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 …
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 …
Sfondo rapido: in JavaScript, la funzione di costruzione per ciascun tipo di oggetto ha una prototypeproprietà. Si prototyperiferisce a un oggetto che ciascun oggetto costruito utilizza come passaggio successivo nella catena del prototipo. Quando si desidera che un tipo sia inerente a un altro tipo, è possibile impostare il prototypetipo …
Stavo leggendo i modelli di progettazione e ho letto che il modello di progettazione del prototipo elimina l'eccessiva sottoclasse. Perché la sottoclasse è male? Quale vantaggio porterebbe l'uso di un prototipo rispetto alla sottoclasse?
Ho "scoperto" le interfacce e ho iniziato ad amarle. La bellezza di un'interfaccia è che si tratta di un contratto e qualsiasi oggetto che adempie a quel contratto può essere utilizzato ovunque sia richiesta tale interfaccia. Il problema con un'interfaccia è che non può avere un'implementazione predefinita, il che è …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.