Aula 2 1

176 visualizações

Publicada em

SISTEMAS PARA INTERNET AULA DE JAVA PROGRAMAÇÃO ORIENTADA A OBJETO 2015

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
176
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 2 1

  1. 1. Programação Orientada a Objetos Professor Eng. Ms. Will Roger Pereira 1
  2. 2. Objetivos da Aula  Atributos de classe;  Métodos de classe. 2
  3. 3. Problematização 1: Vale-refeição dos funcionários  Situação:  Suponha um atributo valerefeicao da classe Funcionario;  Representa o valor do vale refeição recebido pelo funcionário;  O vale refeição é o mesmo para todos os funcionários.  Problema:  Não faz sentido ter este atributo repetido para todos os objetos, uma vez que ele é único para todos. Não depende de nenhuma característica do funcionário;  Para mudar este atributo, deve-se fazer a mudança em todos os objetos da classe Funcionario. Não é prático. 3
  4. 4. Atributos de Classe  Ao invés de utilizar atributos comuns, que são únicos para cada objeto, serão utilizados atributos de classe;  Atributos de classe são COMPARTILHADOS por todos os objetos da classe;  Ao contrário dos atributos comuns, se for mudado dentro de um dos objetos, afetará o valor do atributo em todos os elementos da classe. 4
  5. 5. Atributos de Classe  Atributos comuns (de instância/objeto):  Atributos de classe: 5
  6. 6. Criando Atributos de Classe  Utilize o modificador static.  Sintaxe de criação:  Exemplo: 6
  7. 7. Utilidade dos Atributos de Classe  Utilize sempre nas seguintes situações:  Quando um atributo for referente a classe;  Quando um atributo tiver seu valor compartilhado por toda a classe;  Quando não fizer sentido a criação de um objeto para possuir tal valor.  Exemplos:  Atributos comuns a todos os objetos: Vale-refeição;  Contadores de objetos: Quantidade de funcionários;  Atributos referentes a classe: Total de dinheiro em todas as contas;  Valores de classe: double pi = 3.1415. 7
  8. 8. Referenciando Atributos de Classe  O acesso a estes atributos é um pouco diferente. Não se usa a referência de um objeto, mas sim a referência da classe;  Isto acontece pois o atributo é da classe, e não do objeto.  Sintaxe:  Para acessar o valor, basta utilizar a referência.  Para modificar o valor do atributo, simplesmente utilize o operador de atribuição ‘=’. 8
  9. 9. Referenciando Atributos de Classe  Exemplo: 9 Criação Acesso Mudança
  10. 10. Problematização 2: Vale-refeição dos funcionários  Situação:  Deseja-se reajustar o valor do valerefeicao para todos os Funcionários;  Para reajustar o valor do valerefeicao da classe Funcionario:  Se for atributo de classe: Deve-se criar um objeto funcionário.  Problema:  Como o reajuste do valor do vale refeição não depende dos dados de um funcionário em particular, não faz sentido precisar de uma referência de um objeto da classe Funcionario para poder fazer esse reajuste.  Como fazer uma mudança neste atributo de classe de forma geral?? 10
  11. 11. Métodos de Classe  Ao invés de utilizar métodos comuns, que devem possuir uma referência a um objeto, utiliza-se métodos de classe.  Métodos de classe, como o nome diz, são da classe. Não é necessário criar um objeto para invocá-lo;  Ao contrário dos métodos comuns, não depende dos dados de um objeto em particular, não fazendo sentido precisar de uma referência de um objeto da classe para sua execução;  CUIDADO: Dentro de um método de classe não é possível referenciar um objeto, ou seja, não utilize this. 11
  12. 12. Métodos de Classe  Utilize sempre nas seguintes situações:  Quando uma ação for referente a classe;  Quando não depender de dados de um objeto em particular;  Quando não fizer sentido criar um objeto para invocar tal método.  Exemplos:  Modificar valores de atributos de classe: reajustaValeRefeicao();  Comportamento de função: arredondaNumero(int casas);  Mostrar valores de atributos de classe: geraRelatorio(). 12
  13. 13. Métodos de Classe  Sintaxe de criação:  Exemplo: 13
  14. 14. Invocando Métodos de Classe  A invocação destes métodos é um pouco diferente. Não se usa a referência a um objeto, mas sim a referência a classe;  Isto acontece pois o método é da classe, e não do objeto.  Sintaxe: 14
  15. 15. Invocando Métodos de Classe  Exemplo: 15
  16. 16. Erro comum  Exemplo:  Erro:  Razão: this dentro do método de classe. Dentro de um método de classe, não pode-se referenciar um objeto. 16
  17. 17. Atributos e métodos de classe no diagrama de classe  Tudo o que for relativo à classe estará sublinhado  static 17

×