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.

ENCAPSULAMENTOC A P Í T U L O7Atributos PrivadosNo sistema do banco, cada objeto da classe Funcionario possui um atributo para guardar o saláriodo funcionário que ele representa.1 class Funcionario {2 double salario ;3 }Código Java 7.1: Funcionario.javaO atributo salario po<strong>de</strong> ser acessado ou modificado por código escrito em qualquer classe queesteja no mesmo diretório que a classe Funcionario. Portanto, o controle <strong>de</strong>sse atributo é <strong>de</strong>scentralizado.Para i<strong>de</strong>ntificar algum erro relacionado a manipulação dos salários dos funcionários, é necessárioverificar o código <strong>de</strong> todos os arquivos da pasta on<strong>de</strong> a classe Funcionario está <strong>de</strong>finida. Quantomaior o número <strong>de</strong> arquivos, menos eficiente será a manutenção da aplicação.Po<strong>de</strong>mos obter um controle centralizado tornando o atributo salario privado e <strong>de</strong>finindo métodospara implementar todas as lógicas que utilizam ou modificam o valor <strong>de</strong>sse atributo.1 class Funcionario {2 private double salario ;34 void aumentaSalario ( double aumento ) {5 // lógica para aumentar o salário6 }7 }Código Java 7.2: Funcionario.javaUm atributo privado só po<strong>de</strong> ser acessado ou alterado por código escrito <strong>de</strong>ntro da classe naqual ele foi <strong>de</strong>finido. Se algum código fora da classe Funcionario tentar acessar ou alterar o valor doatributo privado salario, um erro <strong>de</strong> compilação será gerado.Definir todos os atributos como privado e métodos para implementar as lógicas <strong>de</strong> acesso e alteraçãoé quase uma regra da orientação a objetos. O intuito é ter sempre um controle centralizado dodados dos objetos para facilitar a manutenção do sistema e a <strong>de</strong>tecção <strong>de</strong> erros.Métodos PrivadosO papel <strong>de</strong> alguns métodos po<strong>de</strong> ser o <strong>de</strong> auxiliar outros métodos da mesma classe. E muitaswww.<strong>k19</strong>.com.br 73

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

Saved successfully!

Ooh no, something went wrong!