Ministério da Educação
Universidade Tecnológica Federal do Paraná
Departamento Acadêmico de Computação
Disciplina: Fundamentos de Programação II
Prof. Rafael Henrique Dalegrave Zottesso
Exercícios – Herança
1. Construa a hierarquia de classes apresentada abaixo:
a) Escreva uma classe Pessoa. Uma pessoa possui um nome, um CPF e um endereço.
Esses atributos estão encapsulados, todos podem ser alterados e consultados quando
necessário, e podem ou não ser informados quando uma pessoa é criada.
b) Escreva uma classe Cliente. Clientes são pessoas que possuem um limite de crédito
(correspondente à quantidade máxima de dinheiro que o cliente pode dever) e um
montante em dívida (correspondente ao valor total da dívida do cliente). Os atributos dos
clientes também precisam estar encapsulados e podem ser consultados/alterados a
qualquer momento. Apenas o valor máximo de crédito deve ser informado no momento da
criação dos objetos. Sobre um cliente, é possível ainda obter o saldo, que informa a
diferença entre os valores de crédito máximo e o montante da dívida.
c) Escreva uma classe Empregado. Um empregado é uma pessoa que possui um salário
base e a porcentagem de imposto de renda retida na fonte. É possível calcular o salário
real do empregado, diminuindo do salário base a porcentagem referente ao imposto. Os
atributos são encapsulados, podem ser alterados/consultados a qualquer momento e
devem ser obrigatoriamente informados no momento da criação dos objetos.
d) Crie um programa principal que instancie pessoas, clientes e empregados. Mostre que
empregados e clientes possuem as mesmas operações de pessoas. Teste as operações
implementadas.
2. Crie uma classe Conta Bancária, que possui um titular, saldo, limite e que seja possível sacar,
depositar e consultar saldo. Além do saldo, é necessário saber o saldo mínimo ( não é atributo), já
que pessoas que possuem limites de crédito podem ter o saldo menor que zero, desde que não
exceda o limite. Quando o saldo de uma conta está abaixo de zero, a pessoa está utilizando o
cheque especial. Quando uma conta é criada, o limite deve obrigatoriamente ser informado. Na
operação de saque, é necessário verificar se o valor a ser retirado não excede o saldo mínimo.
Existem basicamente dois tipos de contas bancárias:
1. Contas Corrente podem ter limites de crédito (o saldo pode ser menor que zero). Por esta
razão, deve ser possível verificar se a conta está no cheque especial ou não. Em caso
afirmativo, essa operação deve emitir uma mensagem informando quantos reais estão
excedidos na conta.
2. Contas Poupança possuem dia de aniversário mensal e uma taxa de rendimento. Esse dia
é definido junto com a abertura da conta poupança e nunca pode ser alterado, embora
possa ser consultado. Na data do aniversário da poupança, ela rende. Portanto, é
necessário que haja uma operação que calcule o rendimento da poupança com base no
saldo atual, e adicione esse rendimento ao saldo. As poupanças não tem limite, por isso,
ele é zero.
Crie um programa principal que instancie contas, contas poupança e contas corrente. Teste as
operações, alterando, sempre que possível o valor dos atributos.
Download

Exercícios – Herança 1. Construa a hierarquia de classes