Quando usar o encapsulamento?

6 respostas
Djheison

Galera…
Qual a finalidade de usar o encapsulamento num código?
Quando usá-lo?
Quais as vantagens?

Aguardo!
Valew!!!

6 Respostas

cv1

Quando? Sempre, oras. Reduzir acoplamento entre classes facilita a manutencao, testes e simplifica bastante a vida no geral.

Fico me perguntando, alias, se existe algum motivo pra atributos publicos sequer existirem no Java.

thegoergen

Uso encapsulamento sempre, nunca uso atributos públicos. É mais seguro, se preciso fazer verificações ao pegar ou setar o valor, faço dentro do Getter e Setter…

sergiotaborda

Djheison:
Galera…
Qual a finalidade de usar o encapsulamento num código?
Quando usá-lo?
Quais as vantagens?

Esta deve ser a pergunta mais fácil de responder, mas também a resposta mais ignorada por muita gente.
Deve-se usar encapsulamento SEMPRE. Mesmo quando parece que não é necessário. Mas atenção que existem diferentes tipos de encapsulamento.

A razão para usar encapsulamento é simples: as coisas funcionam muito melhor quando vc usa. A manutenção é mais simples. A evolução é mais simples. O teste é mais simples. O reaproveitamento é maior. Aliás, o encapsulamento tem poucas desvantagens.

Note que o próprio conceito de objeto é uma forma de encapsulamento e que encapsulamento é uma decorrencia natural do principio de separação de responsabilidades

B

Djheison:
Galera…
Qual a finalidade de usar o encapsulamento num código?
Quando usá-lo?
Quais as vantagens?

Encapsulamento esconde os detalhes de implementação, algumas pessoas confundem isso com proteger o código, que na verdade é uma das consequencias do conceito. Por exemplo você pode encapsular a persistencia de forma que o programador faça isso sem precisar saber como funciona o framework de persistencia que você usou.

antes dos enums tinha motivo sim.

nbluis

Só para esclarecer algumas coisas.
Mesmo defendendo encapsulamento.

Ninguém aqui está falando em:
“Crie todos os seus atributos privados e coloque getters and setter neles”.
Isso é um erro talvez pior do que os demais descritos.

Mais detalhes veja: http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

Até.

B

Acho que o melhor seria, crie todos os seus atributos privados e coloque gets ou sets de acordo com a necessidade :wink:

Criado 24 de abril de 2008
Ultima resposta 24 de abr. de 2008
Respostas 6
Participantes 6