Perguntas com a marcação «abstract-class»

Uma classe abstrata é uma classe que não pode ser instanciada. Eles geralmente são projetados para serem estendidos / subclasses e geralmente têm "métodos abstratos" que devem ser implementados por subclasses.

5
Faz sentido definir uma interface se eu já tiver uma classe abstrata?
Eu tenho uma classe com algumas funcionalidades padrão / compartilhadas. Eu uso abstract classpara isso: 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)); } …




6
Existe alguma diferença entre interfaces e classes abstratas que possuem apenas métodos abstratos?
Digamos que temos uma classe abstrata e deixemos que essa classe tenha apenas métodos abstratos. Essa classe abstrata é diferente de uma interface que possui apenas os mesmos métodos? O que estou procurando saber é se existem diferenças filosoficamente, objetivamente e na implementação da linguagem de programação subjacente entre uma …



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.