Carregar apresentação
A apresentação está carregando. Por favor, espere
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...
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.