Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Uma classe abstrata por padrão deve ter os seus métodos abstratos também?

Uma classe abstrata por padrão deve ter os seus métodos abstratos também?

2 respostas
solução!

Olá Cesar,

Não é obrigatório, em uma classe abstrata você pode ter métodos abstratos e métodos comuns.

Regras para uma classe do tipo abstrata:

  • Uma classe abstrata é uma classe que não pode ser instanciada. Você não pode criar um objeto a partir de uma classe abstrata.
  • Uma classe abstrata pode ser herdada e geralmente serve como classe base para outras classes.
  • Uma classe abstrata pode conter métodos abstratos e métodos comuns. Uma classe abstrata também podem possuir construtores, propriedades, indexadores e eventos.
  • Uma classe abstrata não pode ser estática (static). Uma classe abstrata não pode ser selada (sealed).
  • Uma classe abstrata pode herdar de outra classe abstrata.

Mais sobre métodos Abstratos:

  • Um método abstrato é um método que não possui implementação na classe abstrata. Um método abstrato possui somente a definição de sua assinatura. A sua implementação deve ser feita na classe derivada.
  • Um método abstrato é um método virtual e deve ser implementado usando o modificador override.
  • Um método abstrato somente pode existir em uma classe abstrata.
  • Um método abstrato não pode usar os modificadores static e virtual.

Abaixo um exemplo básico onde temos uma classe abstrata Teste e dentro dela dois métodos, um abstrato e outro comum.

namespace ByteBank.SistemaAgencia
{
    public abstract class Teste
    {
        public int SomarDoisNumeros(int a, int b)
        {
            return a + b;
        }

        public abstract int MultiplicarDoisNumeros(int a, int b);
    }
}

Obrigado. Foi muito bom o esclarecimento.