quarta-feira, 19 de dezembro de 2012

ENCAPSULAMENTO, GET E SET


ENCAPSULAMENTO
G E T
S E T 



Bem, aqui vamos nós para mais uma postagem. Desta vez resolvi falar sobre o encapsulamento em Java e também sobre Getters e Setters.
O encapsulamento é uma das características mais importantes da Programação Orientada a Objetos. Se queremos garantir o código de uso errado ou até de uso mal intencionado, encapsulamos. É o encapsulamento que permite os diferentes níveis de visibilidade para membros de uma classe, permite também o controle de acesso aos ATRIBUTOS de uma CLASSE, que é muito importante, desta forma se evita comportamentos fora do normal da classe.
Existem 3 tipos de encapsulamento que se aplicam aos MEMBROS de uma CLASSE : Publico (public); Privado (private); Protegido (protected);
O encapsulamento do tipo publico (public) é o mais elementar - é permissivo - significa que os membros publicos de uma classe podem ser acessados livremente por qualquer outra classe sem qualquer restrição. É representado graficamente pelo sinal de adição (+). O tipo publico permite que QUALQUER outra classe possa modificar ou alterar o conteúdo de uma classe x.
O encapsulamento do tipo privado (private) é o mais complexo - é restritivo - significa que estes membros que estão privados só poderão ser acessados de dentro da sua própria classe. É representado graficamente pelo sinal de subtração (-). O tipo privado é importante para garantir a INTEGRIDADE do conteúdo dos atributos de uma classe, bloqueando o livre acesso. Somente a própria classe acessa as informações dos atributos da classe.
O encapsulamento do tipo restritivo (protected) é o nível intermediário, se situa entre o public e o private. Atributos de uma classe de visibilidade protected só podem ser acessados na própria classe, em suas subclasses ou classes que se situam no mesmo PACOTE (package) . É representado graficamente pelo sinal de tralha (#). Não é tão usado, mas é muito importante.

Existem métodos de leitura e de escrita em Java. Por convenção, se definiu que o nome de um método precedido da palavra SET atribuiria a um método de escrita, conhecido como setters. Então o set serve para atribuir valor a um determinado atributo que você não tem acesso. E de fato, deve ser sempre desta forma numa boa programação o acesso para gravar dados. Por conta desta mesma convenção, um método de leitura, conhecido como getters, tem os nomes de seus métodos precedidos pela palavra GET. O Get serve para retornar, obter, mostrar o valor de um determinado atributo de uma classe.
Conceitualmente, as sintaxes de uso para o método GET servem para retornar um valor que podem ser do tipo string, int, double, flout. Obviamente, teremos que declarar na assinatura do método o tipo do retorno. Um exemplo de método GET escrito na linguagem JAVA:
public int getEstoque( ) {   
return quantidade;
}
Explicando cada termo da assinatura acima:public (método de visibilidade publica) int (é o tipo do retorno deste método) get (conforme a convenção precede o nome do método Estoque) return (retorno do valor de quantidade).
Já o método SET serve para gravar ou modificar um valor de forma segura. Como este é um método que não terá retorno, logo, na assinatura o termo VOID terá que ser descrito. Também será obrigatório descrever o argumento, com o tipo  (int, double, etc) e o nome do objeto. Um exemplo de método SET escrito na linguagem JAVA:
public void setCodigo(double codigo){
this.codigo = codigo;
}
Explicando o disposto acima, este método irá gravar no atributo código que é do tipo double, algum valor definido dentro do método. A clausula this é necessária para diferenciar o parametro do atributo. Se não usássemos this, esta instrução equivaleria a ordenar que o valor do parametro codigo fosse armazenado nele mesmo. Assim, este valor não seria gravado no atributo e o método set seria sem sentido algum.
Bem simples assim: Get - utilizado para visualizar o valor de um atributo, Set - utilizado para gravar valor em um atributo.

Vou ficando por aqui em mais esta postagem expressa.
Espero que gostem
Forte abraço,
Fabiano Lopes , 19 de dezembro de 2012, 21:44.

Nenhum comentário:

Postar um comentário

GOSTOU? NÃO GOSTOU? TEM ALGO IMPORTANTE A ACRESCENTAR?
Comente, seu comentário é importante !