12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ENCAPSULAMENTO 78Acessando ou modificando atributosAplicando a i<strong>de</strong>ia do encapsulamento, os atributos <strong>de</strong>veriam ser todos privados. Consequentemente,os atributos não po<strong>de</strong>m ser acessados ou modificados por código escrito fora da classe naqual eles foram <strong>de</strong>finidos.Porém, muitas vezes, as informações armazenadas nos atributos precisam ser consultadas <strong>de</strong>qualquer lugar do sistema. Nesse caso, po<strong>de</strong>mos disponibilizar métodos para consultar os valoresdos atributos.1 class Cliente {2 private String nome ;34 public String consultaNome () {5 return this . nome ;6 }7 }Código Java 7.6: Cliente.javaDa mesma forma, eventualmente, é necessário modificar o valor <strong>de</strong> um atributo a partir <strong>de</strong> qualquerlugar do sistema. Nesse caso, também po<strong>de</strong>ríamos criar um método para essa tarefa.1 class Cliente {2 private String nome ;34 public void alteraNome ( String nome ){5 this . nome = nome ;6 }7 }Código Java 7.7: Cliente.javaMuitas vezes, é necessário consultar e alterar o valor <strong>de</strong> um atributo a partir <strong>de</strong> qualquer lugar dosistema. Nessa situação, po<strong>de</strong>mos <strong>de</strong>finir os dois métodos discutidos anteriormente. Mas, o que émelhor? Criar os dois métodos (um <strong>de</strong> leitura e outro <strong>de</strong> escrita) ou <strong>de</strong>ixar o atributo público?Quando queremos consultar a quantida<strong>de</strong> <strong>de</strong> combustível <strong>de</strong> um automóvel, olhamos o painelou abrimos o tanque <strong>de</strong> combustível?Quando queremos alterar o toque da campainha <strong>de</strong> um celular, utilizamos os menus do celularou <strong>de</strong>smontamos o aparelho?Acessar ou modificar as proprieda<strong>de</strong>s <strong>de</strong> um objeto manipulando diretamente os seus atributosé uma abordagem que normalmente gera problemas. Por isso, é mais seguro para a integrida<strong>de</strong> dosobjetos e, consequentemente, para a integrida<strong>de</strong> da aplicação, que esse acesso ou essa modificaçãosejas realizados através <strong>de</strong> métodos do objeto. Utilizando métodos, po<strong>de</strong>mos controlar como asalterações e as consultas são realizadas. Ou seja, temos um controle maior.Getters e SettersNa linguagem Java, há uma convenção <strong>de</strong> nomenclatura para os métodos que têm como finali-78 www.<strong>k19</strong>.com.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!