Podem conter métodos virtuais (palavra chave virtual), que são métodos que possuem implementação mas que podem ser sobrecarregados pelas classes derivadas.
Podem conter também métodos abstratos (palavra chave abstract), que não possuem implementação e que devem ser implementados pelas classes derivadas.
Observe o exemplo da classe Automóvel:
abstract class Automovel
{
private string modelo;
private DateTime ano;
...
public virtual void Ligar()
{
// Implementação do método virtual
...
}
// Método abstrato, não possui implementação,
// chaves e é terminado com ponto e vírgula
public abstract void Mover();
}
Podemos criar um exemplo que herde de Automóvel contendo o mínimo necessário (o método abstrato):
public class Moto : Automovel
{
public override void Mover()
{
Console.WriteLine("Movendo a moto.");
}
}
Nenhum comentário:
Postar um comentário