Buscar

ExerciciosJava_03_LPOO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Curso de POO usando JAVA
Exercícios de Fixação – Parte 3
Objetivos: Entender o mecanismo de herança e os seus benefícios relacionados a reuso. Dominar os princípios e as regras de conversão implícita e explícita de tipos não-primitivos. 
Construa uma sub-classe de Cliente chamada ClienteEspecial, com mais um atributo que represente um percentual de bônus (real). Esta classe deve ter 01 construtor, recebendo valores dos seus quatro atributos. Esta mesma classe deve ter um método que calcula qual o valor mensal de bônus que o cliente ganha. O valor mensal de bônus é dado pela fórmula: 
valor mensal de bônus = salário*(1+(percentual de bônus / 100)).
Construa uma sub-classe de Conta chamada ContaEspecial, com mais um atributo real que representa um percentual de prêmio mensal sobre saldo. Esta classe deve ter 01 construtor, recebendo valores dos seus quatro atributos. Esta mesma classe deve ter um método que calcula qual o valor mensal de prêmio que a conta terá como crédito. O valor mensal de prêmio é dado pela fórmula: 
valor mensal de prêmio = saldo*(1+(percentual de prêmio mensal sobre saldo / 100)).
Dadas as classes do Quadro 1 e os trechos de código do Quadro 2, indique se o código não compila, se compila mas não roda ou se compila e roda. Nos dois primeiros casos, justifique sua resposta.
	public class Arma {}
public class ArmaFogo extends Arma {}
public class ArmaBranca extends Arma {}
public class Faca extends ArmaBranca {}
	public class Espada extends ArmaBranca {}
public class Pistola extends ArmaFogo {}
public class Fuzil extends ArmaFogo {}
Quadro 1
	Faca f = new Faca();
ArmaBranca ab = f;
Arma a = ab;
Fuzil r = (Fuzil)a;
	Pistola e = new Pistola();
Arma a = e;
ArmaFogo af = (Pistola)e;
	Arma a = new ArmaFogo();
ArmaFogo af = (ArmaFogo)a;
Espada e = (Espada)af;
	ArmaBranca ab = new Faca();
Arma a = ab;
ArmaFogo af = (Pistola)a;
Quadro 2

Outros materiais