programacion orientada a objetos, manual y guia básica de como programar paso a paso y y con ejercicios resueltos. no soy el autor.Descripción completa
Descripción completa
Descripción completa
Conceptos generales de la POOFull description
material estácio de sá EAD, engenharia de softwareFull description
Programación Orientada a ObjetosDescripción completa
Descrição: material estácio de sá EAD, engenharia de software
Descripción completa
Descripción completa
teoria importante de la programacion orientada a objetosDescripción completa
Descripción: poo
Descrição completa
Descrição completa
POooDescripción completa
Descrição completa
Descripción: Manual de Programación Orientada a Objetos I
Manual de Programacion orientada a objeto en Java, nivel avanzadoDescripción completa
Programação orientada a objetos em Delphi Abrindo sua mente mente para um mundo novo... mas nem tanto!
Mudar!? Para quê???
Se você chegou até aqui, significa que você procura por otimizar seu processo de trabalho!
FreeDigitalPhotos.net
Então deixe o comodismo e o preconceito de lado!
Mudar!? Para quê???
Se você chegou até aqui, significa que você procura por otimizar seu processo de trabalho!
FreeDigitalPhotos.net
Então deixe o comodismo e o preconceito de lado!
Mas preciso estudar um monte de teorias novas?
Orientação a Objeto é um conceito antigo. Mas a melhor maneira de aprender é usando! Polimorfismo, herança e encapsulamento são conceitos importantes! Mas a prática leva à perfeição! FreeDigitalPhotos.net
O que devo saber sobre a teoria? ● Orientação a objetos :
Estrutura de agrupamento de dados e funções que tem por objetivo alta padronização e usabilidade de informações.
O que devo saber sobre a teoria? ● Polimorfismo, herança e encapsulamento:
São metodologias utilizadas para se conseguir, tecnicamente, a padronização e a usabilidade que são necessários para o ganho de performance no desenvolvimento de software.
O que devo saber sobre a teoria? ● Classes, métodos e atributos :
São nomes novos para coisas velhas que você já conhece! Muda o contexto, mas o conceito é o mesmo.
Entendendo como se faz
Caelum
Entendendo como se faz ● Classe:
É a especificação, o projeto.
● Objeto:
É a instancia, em memória, da classe. Este é o objeto de trabalho!
Entendendo como se faz Unit UConta; Interface Uses SysUtils; Type TConta = Class public numero: integer; dono: String; saldo: real; limite: real; End; Implementation //...
Entendendo como se faz Procedure Teste; var vConta: TConta; vSaldo_Total: real; begin vConta:= Tconta.Create; vConta.saldo := 0; vConta.dono := 'José'; vSaldo_Total:= vConta.Saldo + vConta.Limite;
vConta.free;
// FreeAndNil(vConta); end;
Entendendo como se faz ● Atributos:
São características da classe. São variáveis que armazenam dados referente ao objeto.
Entendendo como se faz Unit UConta; //... Type TConta = Class public numero: integer; dono: String; saldo: real; limite: real;
public Procedure saca(valor: real); Procedure deposita(valor: real); End;
Implementation //...
Entendendo como se faz //... Implementation Procedure TConta.saca(valor: real); var vNovoSaldo: real; begin vNovoSaldo := saldo - valor; saldo := vNovoSaldo; end; Procedure TConta.deposita(valor: real); begin saldo := saldo + valor; end; //...
Entendendo como se faz Procedure Teste; var vConta: TConta; vSaldo_Total: real; begin vConta:= Tconta.Create; vConta.saldo := 0; vConta.dono := 'José'; vConta.deposita(200);
vConta.saca(50);
vSaldo_Total:= vConta.Saldo + vConta.Limite;
vConta.free;
end;
Entendendo como se faz ● Métodos:
São ações da classe. São funções ou procedimentos necessários para a execução dos objetivos da classe.
Entendendo como se faz ● Objetos:
●
Lembre-se que, ao instanciar uma classe, você está fazendo referência a endereços de memória. Cuidado ao referencias objetos e limpa-los da memória.
Entendendo como se faz Procedure Teste; var vC1, vC2, vC3: TConta; begin vC1:= Tconta.Create; vC1.dono := 'José'; vC2:= Tconta.Create; vC2.dono := 'Maria';
vC3:=vC1; vC3.deposita(100);
vC3:=vC2; vC3.deposita(10); vC3:=nil;
freeandnil(vC1); freeandnil(vC2); end;
Entendendo como se faz Procedure Teste; var vC1, vC2: TConta; begin vC1:= Tconta.Create; vC1.dono := 'Emilia'; vC2:= Tconta.Create; vC2.dono := 'Emilia'; if vC1 = vC2 then begin // são iguais!
end;
freeandnil(vC1); freeandnil(vC2); end;
Entendendo como se faz ●
Aproveite-se das referências de memória para otimizar seus métodos.
Entendendo como se faz Unit UConta; //... Type TConta = Class;
TConta = Class public numero: integer; dono: String; saldo: real; limite: real; public Procedure saca(valor: real); Procedure deposita(valor: real); Procedure transfere(conta: TConta; valor: real);
End;
Implementation
Entendendo como se faz //... Implementation Procedure TConta.transfere(conta: TConta; valor: real); begin saldo := saldo - valor; conta.saldo := saldo + valor; end; //ou Procedure TConta.transfere(conta: TConta; valor: real); begin saldo.saca(valor); conta.deposita(valor); end; //...
Entendendo como se faz ●
Pode-se deixar sua classe mais inteligente e robusta com a utilização de construtores e destruidores.
Entendendo como se faz Unit UConta; Type TConta = Class; TConta = Class public numero: integer; dono: String; saldo: real; limite: real; public Constructor Create; Destructor Free;
Entendendo como se faz //... Implementation Procedure TConta.Create; begin numero := 0; dono:= ''; saldo:= 0; limite: 1000; end; Procedure TConta.Free; begin // Tratamento de limpeza end; //...
Entendendo como se faz ● ●
Aproveite a estrutura e pense sempre de maneira modular. Cada classe deve ser especialista no que faz!
Entendendo como se faz Unit UTitular; Type TTitular = Class public nome: string; endereco: string; cpf: string; public Constructor Create; Destructor Free; End; Implementation //...
Entendendo como se faz Unit UConta; Interface
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 //...
Entendendo como se faz //... Implementation Procedure TConta.Create; begin numero := 0; saldo:= 0; limite: 1000; dono:= TTitular.Create;
end; Procedure TConta.Free; begin
dono.free;
end; //...
Entendendo como se faz Procedure Teste; var vC1: TConta; begin vC1:= Tconta.Create; vC1.dono.nome := 'Joao'; vC1.dono.CPF := '11122233300'; VC1.saldo:=0;
VC1.deposita(100);
freeandnil(vC1); end;
Padrão de programação ●
Pode-se adotar padrões de programação orientada a objetos para facilitar o trabalho em equipe.
Padrão de programação Estrutura de classe em Delphi
Unit UTTeste; interface Uses Sysutils, ZDataset, ZConnection, Classes; Type TTeste = Class private VARIAVEIS DE ATRIBUTOS MÉTODOS PRIVADOS: GETS E SETS
MÉTODOS PRIVADOS DIVERSOS public CONSTRUTOR DESTRUTOR MÉTODOS PÚBLICOS
Estrutura de classe em Delphi
public DEFINIÇÃO DE PROPRIEDADES, GETS E SETS End; implementation IMPLEMENTAÇÃO DOS CONSTRUTORES IMPLEMENTAÇÃO DOS DESTRUTORES IMPLEMENTAÇÃO DE MÉTODOS PRIVADOS IMPLEMENTAÇÃO DE MÉTODOS PUBLICOS End;
Padrão de programação //... 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; //...
Padrão de programação //... 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; //...
Padrão de programação //... 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;
Padrão de programação //... 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;
Concluindo ●
Toda a mudança requer um período de adaptação.
●
Os ganhos da POO são muitos, mas é necessário prática, disciplina e paciência para quem ainda se inicia na metodologia.