Buscar

Encapsulamento

Código

Olá pessoal, como estão as coisas? Espero que tudo esteja maravilho. Ah! Se preparem, o Delphi 7.0 está chegando!!!

O encapsulamento tem como meta principal reduzir o número de variáveis globais usadas dentro de um programa. Uma variável global pode ser acessada a partir de qualquer parte de um programa. Por isso, uma mudança em uma variável global afeta todo o programa. Por outro lado, ao mudar a representação de um campo de uma classe, você só precisa mudar o código de alguns métodos dessa classe e nada mais. Por isso, o encapsulamento das alterações é na verdade ocultar as informações.

Vamos esclarecer essa idéia com um exemplo. Quando você tem um programa com vários formulários, pode torna alguns dados disponíveis para cada formulário, declarando-os como uma variável global na parte referente à interface da unidade de um dos formulários.

var Form1: TForm1; aux: integer;

Isso funciona, mas tem dois problemas. Primeiramente, os dados não estão conectados a uma instância específica do formulário, mas ao programa inteiro. Se você criar dois formulários do mesmo tipo, eles compartilharão os dados. Se você quiser que cada formulário do mesmo tipo tenha sua própria cópia dos dados, a única solução é incluí-lo na classe de formulário:

type TForm1 = class(TForm) public aux: integer; End;

O segundo é que, se definir os dados como um variável global ou como um campo public de um formulário, não poderá modificar sua implementação no futuro sem interferir no código que utiliza os dados. Por exemplo, se você precisa apenas ler o valor atual de outros formulários, pode declarar os dados como private e fornecer um método para ler o valor, como segue abaixo:

type TForm1 = class(TForm) public function Teste: integer; private aux: integer; end;

function TForm1.Teste: integer; begin Result := aux; end;

Por hoje é só pessoal. Até a semana que vem se Deus quiser.

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 09/02/05
Por: Jose Ribeiro
Visualizada: 4278 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009