Domande taggate «abstract-class»

Una classe astratta è una classe che non può essere istanziata. Generalmente sono pensati per essere estesi / sottoclassi e generalmente hanno "metodi astratti" che devono essere implementati da sottoclassi.

5
Ha senso definire un'interfaccia se ho già una classe astratta?
Ho un corso con alcune funzionalità predefinite / condivise. Io lo uso abstract classper questo: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } …




3
Classi base astratte e costruzione della copia, regole empiriche
Spesso è una buona idea avere una classe base astratta per isolare l'interfaccia dell'oggetto. Il problema è che la costruzione della copia, IMHO, è praticamente rotta per impostazione predefinita in C ++, con i costruttori di copie generati per impostazione predefinita. Quindi, quali sono i gotcha quando hai una classe …

6
C'è qualche differenza tra interfacce e classi astratte che hanno solo metodi astratti?
Diciamo che abbiamo una classe astratta e lasciamo che questa classe abbia solo metodi astratti. Questa classe astratta è diversa da un'interfaccia che ha solo gli stessi metodi? Quello che sto cercando di sapere è se ci sono differenze sia filosoficamente, obiettivamente e nell'implementazione del linguaggio di programmazione sottostante tra …
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.