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.
Sto imparando groovy e ho appena imparato a conoscere la nuova funzionalità aggiunta in 2.3, che è l'aggiunta di Traits . Ora a me sembra che i tratti ti permettano di fare praticamente tutto ciò che una superclasse e un'interfaccia possono fare. L'aggiunta di Traits a Groovy rende obsolete l'ereditarietà …
Una rapida ricerca di questo scambio di stack mostra che in generale la composizione è generalmente considerata più flessibile dell'eredità, ma come sempre dipende dal progetto ecc. E ci sono momenti in cui l'ereditarietà è la scelta migliore. Voglio fare una partita a scacchi 3D in cui ogni pezzo ha …
Dopo aver fatto alcune ricerche, non riesco a trovare un semplice esempio per risolvere un problema che incontro spesso. Diciamo che voglio creare una piccola applicazione in cui posso creare Squares, Circles e altre forme, visualizzarle su uno schermo, modificare le loro proprietà dopo averle selezionate e quindi calcolare tutti …
C'è qualche soluzione decente alla mancanza di generici di PHP che consenta all'ispezione del codice statico di rilevare la coerenza del tipo? Ho una classe astratta, che voglio sottoclassare e far valere anche che uno dei metodi cambia dall'acquisizione di un parametro di un tipo, all'adozione di un parametro che …
Se un oggetto esiste fisicamente o no, possiamo scegliere di modellarlo in diversi modi. In molti casi potremmo usare arbitrariamente la generalizzazione o la composizione. Tuttavia, il principio GoF di "favorire la composizione rispetto alla generalizzazione [sic]" ci guida all'utilizzo della composizione. Quindi, quando modelliamo, ad esempio, una linea, creiamo …
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.