Herança e Polimorfismo

2247 palavras 9 páginas
SUMÁRIO

HERANÇA

Repetindo código?
Como toda empresa, um Banco possui funcionários. Vamos modelar a classe
Funcionario:
class Funcionario { String nome; String cpf; double salario; // métodos devem vir aqui
}

Além de um funcionário comum, há também outros cargos, como os gerentes. Os gerentes guardam a mesma informação que um funcionário comum, mas possuem outras informações, além de ter funcionalidades um pouco diferentes. Um gerente no nosso banco possui também uma senha numérica que permite o acesso ao sistema interno do banco, além do número de funcionários que ele gerencia:

class Gerente { String nome; String cpf; double salario; int senha; int numeroDeFuncionariosGerenciados; public boolean autentica(int senha) { if (this.senha == senha) { System.out.println("Acesso Permitido!"); return true; } else { System.out.println("Acesso Negado!"); return false; } } // outros métodos
}

Precisamos mesmo de outra classe?
Poderíamos ter deixado a classe Funcionario mais genérica, mantendo nela senha de acesso, e o número de funcionários gerenciados. Caso o funcionário não fosse um gerente, deixaríamos estes atributos vazios.
Essa é uma possibilidade, porém podemos começar a ter muito atributos opcionais, e a classe ficaria estranha. E em relação aos métodos? A classe Gerente tem o método autentica, que não faz sentido existir em um funcionário que não é gerente.

Se tivéssemos outro tipo de funcionário que tem características diferentes do funcionário comum, precisaríamos criar outra classe e copiar o código novamente!
Além disso, se um dia precisarmos adicionar uma nova informação para todos os funcionários, precisaremos passar por todas as classes de funcionário e adicionar esse atributo. O problema acontece novamente por não centralizarmos as informações principais do funcionário em um único lugar!
Existe um jeito, em Java, de relacionarmos uma

Relacionados

  • Herança e Polimorfismo
    2210 palavras | 9 páginas
  • Herança e Polimorfismo(Resumo)
    874 palavras | 4 páginas
  • Documentoartigos sobrre herança e polimorfismo em java
    1423 palavras | 6 páginas
  • Java
    4807 palavras | 20 páginas
  • Trabalho academico de desenvolvimento orientado a objetos
    953 palavras | 4 páginas
  • slide prog orienta obj 1
    592 palavras | 3 páginas
  • Polimorfismo
    1727 palavras | 7 páginas
  • Seminários avançados ii (java)
    1102 palavras | 5 páginas
  • Programação orientada a objeto x estruturada
    2621 palavras | 11 páginas
  • polimarfismo
    847 palavras | 4 páginas