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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ATRIBUTOS E MÉTODOS DE CLASSE 68<strong>de</strong>vemos torná-lo um atributo <strong>de</strong> classe ao invés <strong>de</strong> um atributo <strong>de</strong> instância. Para isso, <strong>de</strong>vemosaplicar o modificador static na <strong>de</strong>claração do atributo.1 class Funcionario {2 String nome ;3 double salario ;4 static double valeRefeicaoDiario ;56 void aumentaSalario ( double aumento ) {7 this . salario += aumento ;8 }9 }Código Java 6.3: Funcionario.javaUm atributo <strong>de</strong> classe <strong>de</strong>ve ser acessado através do nome da classe na qual ele foi <strong>de</strong>finido.1 Funcionario . valeRefeicaoDiario = 15;Código Java 6.4: Acessando um atributo <strong>de</strong> classePo<strong>de</strong>mos acessar um atributo <strong>de</strong> classe através <strong>de</strong> uma referência <strong>de</strong> um objeto da classe naqual o atributo foi <strong>de</strong>finido. Contudo, não seria a maneira conceitualmente correta já que o atributopertence a classe e não ao objeto.1 Funcionario f = new Funcionario ();2 // Válido , mas conceitualmente incorreto3 f. valeRefeicaoDiario = 15;Código Java 6.5: Acessando um atributo <strong>de</strong> classevaleRefeicaoDiario = 15FUNCIONARIOnome = Rafael CosentinoFUNCIONARIOnome = Jonas HirataFUNCIONARIOnome = Marcelo MartinsFigura 6.2: Atributos <strong>de</strong> classeMétodos EstáticosDefinimos métodos para implementar as lógicas que manipulam os valores dos atributos <strong>de</strong> instância.Po<strong>de</strong>mos fazer o mesmo para os atributos <strong>de</strong> classe.Suponha que o banco tenha um procedimento para reajustar o valor do vale refeição baseado emuma taxa. Po<strong>de</strong>ríamos <strong>de</strong>finir um método na classe Funcionario para implementar esse reajuste.1 void reajustaValeRefeicaoDiario ( double taxa ) {68 www.<strong>k19</strong>.com.br

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

Saved successfully!

Ooh no, something went wrong!