Sie sind auf Seite 1von 20

AULA 1

2ª ETAPA
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classes abstratas
Pode-se dizer que as classes abstratas servem como “modelo” para
outras classes que dela herdem, não podendo ser instanciada por si
só. Para ter um objeto de uma classe abstrata é necessário criar uma
classe mais especializada herdando dela e então instanciar essa nova
classe. Os métodos da classe abstrata devem então serem sobrescritos
nas classes filhas.

Por exemplo, é definido que a classe “Animal” seja herdada pelas


subclasses “Gato”, “Cachorro”, “Cavalo”, mas ela mesma nunca pode
ser instanciada.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Polimorfismo

O polimorfismo permite que classes abstratas consigam receber


comportamentos através de classes concretas. Por exemplo, um
dispositivo USB, podemos considerar que o USB seria uma classe
abstrata enquanto os dispositivos (Pen Driver, Ipad, Câmeras, etc)
seriam as classes concretas. Ou seja, o USB é uma especificação que
pode ter várias implementações com características diferentes.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Sobrescrita de métodos

A seguir temos um exemplo onde uma classe Soma herda de uma


outra Operação Matemática, sobrescrevendo seu método calcular para
implementar a lógica adequada à sua função. A sobrescrita de
métodos é muito utilizada na implementação de polimorfismo para
que uma classe filha possa definir seu próprio comportamento,
baseada na estrutura da classe mãe.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Método Abstrato
Em orientação a objetos, método abstrato é o método de uma classe abstrata
que não possui implementação.
Na classe abstrata, é definido o método abstrato com palavra reservada abstract
e sua assinatura.
A implementação do mesmo é feita na classe filha, através de sobrescrita de
método. Exemplos:
public abstract void calcular();
public abstract int resultado();
PROGRAMAÇÃO ORIENTADA A OBJETOS

Vamos analisar e implementar uma diagrama de classes para a situação


proposta abaixo:
A empresa WX e do ramo de vendas de móveis e eletrodomésticos. A
empresa possui setor de transporte, contabilidade, Recursos Humanos e
vendas. Cada setor possui um supervisor responsável pela gestão. A
empresa tem bonificação pelos serviços.
A gratificação pelos serviços prestados está diretamente ligada ao cargo
que o funcionário ocupa conforme definido no próximo slide:
PROGRAMAÇÃO ORIENTADA A OBJETOS
➢ Agente de serviços diversos: 8% do salário;
➢ Motorista: 9% do salário;
➢ Operador de caixa: 10% do salário;
➢ Assistente de contabilidade: 7% do salário;
➢ Assistente de Recursos humanos: 5% do salário;
➢ Vendedor: 5% das vendas;
➢ Supervisor de vendas: 10% do salário + 5% das vendas
➢ Demais Supervisores: 15% do salário;
➢ Gerente Geral: 15% do salário + 5% das vendas;
Obs.: Supervisor de vendas e gerente podem realizar vendas, os demais
funcionários não.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Particularidade dos cargos:
➢ Agente de serviços diversos: recebe adicional de insalubridade (5% do salário)
➢ Motorista: possui CNH;
➢ Operador: recebe gratificação de 2% sobre salário para compensar diferença de
caixa.
➢ Assistente de contabilidade: Possui CRC
➢ Assistente de Recursos humanos: Possui CRA;
➢ Vendedor: Possui metas.
Visando permitir que cada funcionário possa consultar a previa do seu pagamento
e conferir possíveis erros, a empresa solicitou uma aplicação de autoatendimento
para que cada funcionário possa simular o seu pagamento.
Observe nos próximos Slides a estruturas UML da classe abstrata e a herança
PROGRAMAÇÃO ORIENTADA A OBJETOS

Obs.: Fonte Itálico indica que a Classe ou método é


abstrato
PROGRAMAÇÃO ORIENTADA A OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS
Estrutura do Programa:
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Abstrata:
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Abstrata:
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Abstrata:
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Motorista
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Supervisor Motorista
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Vendedor
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classe Vendedor
PROGRAMAÇÃO ORIENTADA A OBJETOS
Atividade para sala de aula:

Implementar a Classe Supervisor Vendedor e as demais Classes


conforme o enunciado proposto.

Das könnte Ihnen auch gefallen