Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
orientada a
objetos em
Delphi
Abrindo sua mente para um mundo novo...
mas nem tanto!
FreeDigitalPhotos.net
Caelum
+
+
+
+
numero: integer;
dono: TTitular;
saldo: real;
limite: real;
+ Constructor Create;
+ Destructor Free;
+ saca(valor: real);
+ deposita(valor: real);
+ transfere(conta: TConta;
valor: real);
+ nome: String;
+ endereco: String;
+ cpf: String;
+ Constructor Create;
+ Destructor Free;
Uses Utitular;
Type
TConta = Class;
TConta = Class
public
numero: integer;
dono: TTitular;
saldo: real;
limite: real;
public
Constructor Create;
Destructor Free;
Procedure saca(valor: real);
Procedure deposita(valor: real);
Procedure transfere(conta: TConta; valor: real);
End;
Implementation
//...
Padro de programao
Pode-se adotar padres de programao
orientada a objetos para facilitar o
trabalho em equipe.
Padro de programao
Estrutura de classe em Delphi
//------------------------------------------------------//<Nome do sistema ou conjunto de classes> - <data>
//<nome da classe>
//<Descrio da classe>
//-------------------------------------------------------
Unit UTTeste;
interface
Uses Sysutils, ZDataset, ZConnection, Classes;
Type
TTeste = Class
private
VARIAVEIS DE ATRIBUTOS
MTODOS PRIVADOS: GETS E SETS
MTODOS PRIVADOS DIVERSOS
public
CONSTRUTOR
DESTRUTOR
MTODOS PBLICOS
public
DEFINIO DE PROPRIEDADES,
GETS E SETS
End;
implementation
IMPLEMENTAO DOS CONSTRUTORES
IMPLEMENTAO DOS DESTRUTORES
IMPLEMENTAO DE MTODOS
PRIVADOS
IMPLEMENTAO DE MTODOS
PUBLICOS
End;
Padro de programao
Unit UConta;
Interface
Uses Utitular;
Type
TConta = Class;
TConta = Class
private
a_numero: integer;
a_dono: TTitular;
a_saldo: real;
a_limite: real;
private
Procedure set_numero(Const Value: integer);
Procedure set_dono(Const Value: TTitular);
Procedure set_saldo(Const Value: real);
Procedure set_limite(Const Value: real);
//...
Padro de programao
//...
Function
Function
Function
Function
get_numero: integer;
get_dono: TTitular;
get_saldo: real;
get_limite: real;
public
Constructor Create;
Destructor Free;
Procedure saca(valor: real);
Procedure deposita(valor: real);
Procedure transfere(conta: TConta; valor: real);
//...
Padro de programao
//...
public
Property
set_numero;
Property
Property
Property
Implementation
//...
Padro de programao
//...
Procedure TConta.Create;
begin
a_numero := 0;
a_saldo:= 0;
a_limite: 1000;
a_dono:= TTitular.Create;
end;
Procedure TConta.Free;
begin
a_dono.free;
end;
//...
Padro de programao
//...
Procedure TConta.saca(valor: real);
var vNovoSaldo: real;
begin
vNovoSaldo := a_saldo - valor;
a_saldo := vNovoSaldo;
end;
Procedure TConta.deposita(valor: real);
begin
a_saldo := a_saldo + valor;
end;
//...
Padro de programao
//...
Procedure TConta.set_numero(Const Value: integer);
begin
a_numero := value;
end;
Procedure TConta.set_dono(Const Value: TTitular);
begin
a_dono := value;
end;
Procedure TConta.set_saldo(Const Value: real);
begin
a_saldo := value;
end;
Procedure TConta.set_limite(Const Value: real);
begin
a_limite := value;
end;
//...
Padro de programao
//...
Function TConta.get_numero: integer;
begin
result := a_numero;
end;
Function TConta.get_dono: TTitular;
begin
result := a_dono;
end;
Function TConta.get_saldo: real;
begin
result := a_saldo;
end;
Function TConta.get_limite: real;
begin
result := a_limite;
end;
End.
Concluindo
Toda a mudana requer um perodo de
adaptao.
Os ganhos da POO so muitos, mas
necessrio prtica, disciplina e pacincia
para quem ainda se inicia na metodologia.
Bibliografia
MELO, Ana Cristina, Desenvolvendo Aplicaes com UML 2.0: do conceitual implementao /
Ana Cristina Melo. 2. ed. Rio de Janeiro: Brasport, 2004.
BORLAND, Treinamento Oficial, Delphi 2005 Application Development with Delphi for Win32
2005.