QuestLab Plataforma Inteligente de Questões
Questão pública

Questão de Tecnologia da Informação

Instituto AOCP - Câmara de Rio Branco - Analista Legislativo - Área: Tec. Inf. Manutenção - 2016 • AOCP • 2016

Considere um cenário em que é necessário sobrescrever o método “ validar ” da classe “ TPessoa ” a partir da classe “ TCliente ”, a qual herda a classe “ TPessoa ”, e que essas classes foram implementadas na linguagem Delphi. O que acontecerá ao se compilar um programa que utiliza as classes “ TCliente ” e “ TPessoa ”, conforme o código descrito a seguir?

unit Unit3;

interface

type

TPessoa = class
public
procedure Validar(Id :Integer);
end;

TCliente = class(TPessoa)
public
procedure Validar(Id :Integer); override;
end;

implementation
{ TCliente }

procedure TCliente.Validar(Id: Integer);
begin
inherited;
{alterações necessárias implementadas aqui}
end;

{ TPessoa }

procedure TPessoa.Validar(Id: Integer);
begin
{validação na classe pessoa}
end;

end.
A
Ocorrerá um erro na compilação do programa, porque o método validar da classe “TPessoa” não é marcado com um dos modificadores “virtual” ou “dynamic”.
B
Não ocorrerá erro na compilação do programa, mas, ao se utilizar a classe “TPessoa” durante a execução do programa ocorrerá um erro de AbstractClass.
C
O programa compilará sem erros, pois as classes foram implementadas corretamente.
D
O programa compilará sem erros, mas somente o método validar da classe “TPessoa” ocasionará erro ao ser executado.
E
O programa compilará sem erros, mas somente o método validar da classe “TCliente” ocasionará erro ao ser executado.
Quer responder esta questão e acompanhar seu desempenho?

Entre na QuestLab para responder, acessar a AURA, estatísticas, cadernos, anotações e outros recursos da plataforma.