Domande con tag 'inheritance'

2
risposte

Chi ha deciso la terminologia downcasting e upcasting?

Per quanto ne so, la terminologia deriva dal modo in cui la gerarchia di ereditarietà viene tradizionalmente visualizzata, con i tipi di estensione nella parte inferiore e i tipi principali nella parte superiore. Questo è un po 'inutile, a...
posta 22.12.2011 - 15:31
1
risposta

oggetti JavaScript e Crockford's The Good Parts

Ho riflettuto un po 'su come eseguire OOP in JS, specialmente quando si tratta di incapsulamento ed ereditarietà, di recente. Secondo Crockford, la classica è dannosa a causa di new (), e sia prototipale che classica sono limitati perché il l...
posta 01.11.2012 - 12:25
5
risposte

I "troppi metodi" sono un valido motivo per violare la regola "composizione sull'ereditarietà"?

Di solito preferisco seguire la regola "composition over inheritance", fino a quando non comincio ad entrare nel mondo della GUI Java. Nella mia esperienza, per aggiungere requisiti personalizzati in un componente della GUI, ad esempio, aggiu...
posta 22.07.2016 - 04:38
5
risposte

Quando si chiama un metodo dovremmo usare base.methodname e this.methodname?

In C #, con un set di classi ereditate - quando si chiama un metodo dovremmo usare le parole chiave "base.metodo e questo.metodo" ... indipendentemente dal fatto che si tratti di un metodo sottoposto a override o meno? È probabile che il codi...
posta 07.02.2012 - 12:25
9
risposte

Esiste un linguaggio di programmazione con non un albero ma un'idea di tag dietro OOP?

Sto pensando alle strutture ad albero, e sento che non mi piacciono. È come quando hai un negozio, poi provi a mettere tutti i prodotti in un catalogo ad albero, e poi devi posizionare un prodotto in più categorie, ora hai più routing, bla-bla....
posta 06.02.2011 - 21:52
1
risposta

Tratti, Eredità e Interfacce in Groovy, quando usarli?

Sto imparando groovy e ho appena saputo della nuova funzione aggiunta in 2.3, che è l'aggiunta di Tratti . Ora per me sembra che i Tratti ti permettano di fare praticamente tutto ciò che una super-classe e un'interfaccia possono fare. L'aggi...
posta 13.08.2014 - 02:58
1
risposta

Può essere corretto derivare da un tipo di libreria standard violando anche il principio di Liskov?

Vorrei definire un puntatore condiviso il cui operator== confronta il puntato con valori al posto dei puntatori, qualcosa del genere: template <typename T> struct deref_shared_ptr: std::shared_ptr<T> { bool operator==(cons...
posta 29.07.2016 - 09:51
3
risposte

Perché l'ereditarietà è definita solo in fase di compilazione?

Ho trovato questa affermazione dai "Modelli di design" della banda dei quattro particolarmente strana; per alcuni contesti, gli autori stanno confrontando l'ereditarietà con la composizione come meccanismi di riutilizzo [p. 19]: "...you can...
posta 21.01.2014 - 19:29
2
risposte

Design corretto per evitare l'uso di dynamic_cast?

Dopo aver fatto alcune ricerche, non riesco a trovare un semplice esempio per risolvere un problema che ho riscontrato spesso. Diciamo che voglio creare una piccola applicazione in cui posso creare Square s, Circle s e altre forme,...
posta 04.01.2018 - 11:45
4
risposte

L'ereditarietà aggiunge regole cattive? [duplicare]

Sono entrato in un dibattito su questa domanda che viene distillata se è una buona idea per una specializzazione di una classe aggiungere regole aziendali. Sfortunatamente questo punto è stato calpestato nei commenti quindi lo sto chiedendo...
posta 08.05.2014 - 14:41