A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

POO II JEAN CARLO MENDES

Apresentações semelhantes


Apresentação em tema: "POO II JEAN CARLO MENDES"— Transcrição da apresentação:

1 POO II JEAN CARLO MENDES WWW.MENDESNET.COM.BR POO@MENDESNET.COM.BR JEAN.MENDES@GMAIL.COM

2 Classes Abstratas  Uma classe Abstrata é uma classe que serve apenas de “modelo” para uma classe Concreta  Classes Abstratas não podem ser instanciadas (operador new)

3 Classes Abstratas  Classes Abstratas podem ser herdadas  Casses Abstratas podem conter ou não métodos Abstratos  Os métodos definidos como Abstratos em uma classe Abstrata devem ser obrigatoriamente implementados na classe concreta que a herda

4 Exemplo de uso

5  Características do domínio do problema  A empresa somente possui funcionários do tipo Gerente, Presidente e Secretária  A forma de se calcular a bonificação de cada tipo de funcionário é distinta, sendo:  Salário + 5% para secretária  Salário + 10% para gerente  Salário + 20% para presidente

6 Exemplo de uso  Faz sentido eu ter uma referência (instância) de um objeto funcionário?  Faz sentido eu escrever o funcionamento do método getBonificacao() na classe mãe?  O que aconteceria se eu deixasse o método “vazio” na classe mãe e me “esquecesse” de implementá-lo na classe filha?

7 Exemplo de uso  Para evitar este tipo de problema o que fazemos?  Usamos classes e métodos Abstratos  Tornando a classe Abstrata eu impeço que seja instanciado um Funcionário que não seja dos três tipos existentes  Tornando o método getBonificacao() Abstrato eu OBRIGO as classes filhas a fornecerem uma implementação para ele

8 Exemplo de uso  Para evitar este tipo de problema o que fazemos?  Usamos classes e métodos Abstratos  Tornando a classe Abstrata eu impeço que seja instanciado um Funcionário que não seja dos três tipos existentes  Tornando o método getBonificacao() Abstrato eu OBRIGO as classes filhas a fornecerem uma implementação para ele

9 Exemplo de uso abstract class Funcionario { public String cpf; public String nome; public Date dataNascimento; public string setor; public double salario; abstract double getBonificacao(); }

10 Exemplo de uso  Implemente as classes Presidente, Gerente e Secretaria herdando de funcionário  Não implemente o método getBonificacao() em uma das classes filhas e tente compilar...

11 Exercício...


Carregar ppt "POO II JEAN CARLO MENDES"

Apresentações semelhantes


Anúncios Google