Documente Academic
Documente Profesional
Documente Cultură
Vamos então ver como isso funciona na prática em nosso exemplo. Abra a
unit uMeioTransporte e altere a declaração do método Mover como mostrado
a seguir:
procedure Mover; virtual;
Virtual define um método que pode ser sobrescrito e assim tomar múltiplas
formas em classes descendentes. Sobrescrito significa anular a implementação
da classe base, fornecer uma outra forma de implementação, uma forma
diferente. No entanto, podemos sobrescrever para adicionar mais
funcionalidade, nesse caso, herdando funcionalidade da classe base e
incluindo mais comportamento. Sim, isso é possível, com o uso de inherited.
Inherited
Como você pode ver, o método Mover não possui implementação na classe
base TMeioTransporte. Podemos implementar o comportamento padrão nessa
classe e deixar que as classes descendentes chamem esse método, adicionando
alguma funcionalidade mais específica.
Imagine que, por exemplo, todo o veículo precisa ser ligado antes de entrar
em movimento. Você não teria que implementar isso em todas as classes
descendentes de TMeioTransporte, pois esse comportamento é padrão para
todas. Abra então a unit uMeioTransporte.pas e implemente o
método Mover como mostrado na Listagem 6.