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.

69 ATRIBUTOS E MÉTODOS DE CLASSE2 Funcionario . valeRefeicaoDiario += Funcionario . valeRefeicaoDiario * taxa ;3 }Código Java 6.6: Método que reajusta o valor do vale refeiçãoO método reajustaValeRefeicaoDiario() é <strong>de</strong> instância. Consequentemente, ele <strong>de</strong>ve serchamado a partir da referência <strong>de</strong> um objeto da classe Funcionario.Contudo, como o reajuste do valor do vale refeição não <strong>de</strong>pen<strong>de</strong> dos dados <strong>de</strong> um funcionárioem particular, não faz sentido precisar <strong>de</strong> uma referência <strong>de</strong> um objeto da classe Funcionario parapo<strong>de</strong>r fazer esse reajuste.Neste caso, po<strong>de</strong>ríamos <strong>de</strong>finir o reajustaValeRefeicaoDiario() como método <strong>de</strong> classe aoinvés <strong>de</strong> método <strong>de</strong> instância. Aplicando o modificador static nesse método, ele se tornará ummétodo <strong>de</strong> classe. Dessa forma, o reajuste po<strong>de</strong>ria ser executado in<strong>de</strong>pen<strong>de</strong>ntemente da existência<strong>de</strong> objetos da classe Funcionario.1 static void reajustaValeRefeicaoDiario ( double taxa ) {2 Funcionario . valeRefeicaoDiario += Funcionario . valeRefeicaoDiario * taxa ;3 }Código Java 6.7: Método que reajusta o valor do vale refeiçãoUm método <strong>de</strong> classe <strong>de</strong>ve ser chamado através do nome da classe na qual ele foi <strong>de</strong>finido.1 Funcionario . reajustaValeRefeicaoDiario (0.1) ;Código Java 6.8: Chamando um método <strong>de</strong> classePo<strong>de</strong>mos chamar um método <strong>de</strong> classe através <strong>de</strong> uma referência <strong>de</strong> um objeto da classe naqual o método foi <strong>de</strong>finido. Contudo, não seria a maneira conceitualmente correta já que o métodopertence a classe e não ao objeto.1 Funcionario f = new Funcionario ();2 // Válido , mas conceitualmente incorreto3 f. reajustaValeRefeicaoDiario (0.1) ;Código Java 6.9: Chamando um método <strong>de</strong> classeExercícios <strong>de</strong> Fixação1 Crie um projeto no Eclipse chamado Static.2 Crie uma classe chamada Conta no projeto Static. Defina um atributo <strong>de</strong> classe para contabilizaro número <strong>de</strong> objetos instanciados a partir da classe Conta. Esse atributo <strong>de</strong>ve ser incrementado todavez que um objeto é criado. Você po<strong>de</strong> utilizar construtores para fazer o incremento.1 public class Conta {2 // ATRIBUTO DE CLASSE3 static int contador ;45 // CONSTRUTOR6 Conta () {7 Conta . contador ++;8 }www.<strong>k19</strong>.com.br 69

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

Saved successfully!

Ooh no, something went wrong!