Skip to content

Instantly share code, notes, and snippets.

@viniciussanchez
Created April 24, 2021 13:46
Show Gist options
  • Save viniciussanchez/07616e380cf00e58528804e4e0e15b0a to your computer and use it in GitHub Desktop.
Save viniciussanchez/07616e380cf00e58528804e4e0e15b0a to your computer and use it in GitHub Desktop.
Exemplo 2 - SOLID LSP
// Função que espera um objeto do tipo TClassePai como parâmetro
function GetMensagemOk(const AObjeto: TClassePai): string;
begin
Result := 'Ok';
end;
var
LClassePai: TClassePai;
LClasseDerivada: TCLasseDerivada;
begin
LClassePai := TClassePai.Create;
LClasseDerivada := TCLasseDerivada.Create;
try
// Aceita o objeto do tipo TClassePai
ShowMessage(GetMensagemOk(LClassePai));
// Aceita o objeto do tipo TClasseDerivada
ShowMessage(GetMensagemOk(LClasseDerivada));
finally
LClasseDerivada.Free;
LClassePai.Free;
end;
end;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment