Imagina que vc tenha que desenvolver um sistema para o BOPE imagina as
class;
unit PoliciaEspecial;
interface
{
* O Bope foi criado para atuar quando a policia perde o controle
* E no rio de janeiro isso acontece com bastante frequencia
*/
}
type
TBope = class(TObject)
private
FNome: string;
FqtdeVitimas: Integer;
public
procedure ondeTaOBaiano(value: Estudante); overload;
procedure ondeTaOBaiano(value: Traficante); overload;
procedure encontreiOBaiano(var value: Baiano);
constructor create(value: string);
end;
TTreinamento = class(TObject)
private
Capitao: TBope;
public
procedure missao(value: CapitaoNascimento);
constructor create;
end;
implementation
{ Bope }
constructor Bope.create;
begin
FNome := value;
FqtdeVitimas:=1;
end;
procedure Bope.encontreiOBaiano(var value: Baiano);
begin
value.naCaraNaoQueEhPraNaoEstragarVelorio();
end;
procedure Bope.ondeTaOBaiano(value: Estudante);
begin
value.sabeVoarEstudante();
end;
procedure Bope.ondeTaOBaiano(value: Traficante);
begin
value.levaSacoNaCabeca();
end;
{ Treinamento }
constructor Treinamento.create;
begin
Capitao := TBope.create('01'); //Capitao Nascimento
//de cada 100 policiais que fazem o curso do Bope,
//so se formam 5, e eu, quando me formei parceiro,
//eramos apenas 3.
Turma.tentaFazerCursoBopeCom(capitao);
while aluno.count >= 3 do
begin
aluno.pedePraSair();
if (aluno is Cafetao) then
begin
capitao.say('Pede pra sair!');
capitao.say('Seu Lugar Eh Com Puta!');
raise(PolicialCorruptoEncontrado pce)
end
else if (aluno is PorraLoka) then
begin
capitao.say('Tira essa farda preta!');
capitao.say('Voce nao eh cavera. voce eh MULEQUE!');
raise(PolicialFracoEncontrado pfe)
end
else if aluno.isXerife then
begin
aluno.desiste()
raise(PolicialSemABandoleiraNessaAlturadoCampeonato e)
end
end
end;
procedure Treinamento.missao(value: CapitaoNascimento);
begin
value.sentaOdedoNessaPorra();
end;
end.
Original :
http://jf.eti.br/aprendendo-java-com-o-bope/