DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Programação Orientada a Objeto - Parte II

Durante estes artigo será mostrado como aplicar na prática os quatro conceitos básicos da orientação a objeto (Abstração, Encapsulamento, Herança, Polimorfismo)

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Programação Orientada a Objeto - Parte II

Um exemplo prático em Delphi


Exemplo de POO na Linguagem Delphi

  

Crie um novo projeto, renome o Form para FPrincipal, salve a Unit com o nome de UPrincipal e o projeto com o nome de AplicacaoPOO.  Selecione o menu File > New > Unit – Delphi for Win32 para cria uma nova Unit sem um formulário anexo e salve essa com o nome de UClasses.

 

Na seção interface entre com o código abaixo;

 

01

type

02

  TPessoa = class

03

    Nome: string;

04

    Fone: string;

05

    procedure Avaliar;

06

    constructor Create;

07

    destructor Destroy;

08

  end;

 

Nesse código estamos usando o conceito de Abstração para criarmos uma nova classe.  Como toda classe é um tipo começamos digitando a palavra reservada type. 

 

Na linha 02 iniciamos a criação da nossa classe que é finalizado com a palavra reservada end; que se encontra na linha 08. 

 

Nas linhas 03 e 04 declaramos dois campos (atributos) do tipo string. 

 

Na linha 05 foi declarado o método Avaliação e nas linhas 06 e 07 são declarados dois outros métodos extremamente importantes.  O método constructor cria a instância do objeto, fazendo as alocações em memória e disponibilizando o objeto para uso, dessa maneira sempre que precisarmos instanciar um objeto devemos chamar esse método.  Já o método destructor faz o inverso do constructor, ele destrói o objeto instanciado liberando a memória.

 

Observação

Os métodos constructor e destructor são opcionais, eles foram colocados aqui por motivos didáticos, mas eles são implementados por default, uma vez que um objeto para ser instanciado e destruído necessita desses dois métodos.

 

Com o prompot dentro da declaração da classe pressione Ctrl+Shift+C e entre com o seguinte código:

 

01

implementation

02

 

03

uses Dialogs;

04

 

05

{ TPessoa }

06

 

07

procedure TPessoa.Avaliar;

08

begin

09

  ShowMessage('Avaliação sendo executada');

10

end;

11

 

12

constructor TPessoa.Create;

13

begin

14

  Self.Nome := 'Novo Nome';

15

  Self.Fone := 'Novo Fone';

16

end;

17

 

18

destructor TPessoa.Destroy;

19

begin

20

  Self.Nome := '';

21

  Self.Fone := '';

22

end;

23

 

24

end.

 

Esse código é bem simples e praticamente dispensa explicações, o único detalhe novo que temos aqui é a palavra reservada Self, poderíamos ter atribuído valores aos campos Nome e Fone sem utilizá-la, mas para evitar ambigüidade utilizamos o Self para fazer uma referência implícita à própria classe.

 

Volte para o FPrincipal, declare UClasses na cláusula uses da seção implementation, coloque um componente TButton e em seu evento OnClick entre com o código abaixo, compile e teste:

 

01

procedure TFPrincipal.Button1Click(Sender: TObject);

02

var

03

  Aluno: TPessoa;

04

begin

05

  Aluno := TPessoa.Create;

06

  ShowMessage( Aluno.Nome +#13+ Aluno.Fone );

07

  Aluno.Nome := 'Tadeu';

08

  Aluno.Fone := '1111-1111';

09

  Aluno.Avaliar;

10

  ShowMessage( Aluno.Nome +#13+ Aluno.Fone );

11

  Aluno.Destroy;

12

end;

 

Na linha 03 estamos declarando o objeto Aluno do tipo TPessoa.  A linha 05 estamos instanciando o objeto Aluno.  A linha 06 nos mostra o valor dos campos após o objeto ter sido instanciado.  Nas linhas 07 e 08 estamos atribuindo novos valores nos campos do objeto.  A linha 09 executa o método Avaliação, enquanto na linha 10 é mostrado os novos valores atribuídos aos campos.

 

Este artigo foi cedido por http://www.cassic.com.br/


 


Cicero Tadeu Pereira Lima França
Mestre em Computação Aplicada; Especialista em Gestão de Projetos de TI; Especialista em Engenharia de Software; Tecnólogo em Automática; Certified ScrumMaster.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03