Buscar

Aula02-Pratica---Classes-e-Heranca

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

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

Continue navegando


Prévia do material em texto

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 
Programação II - Lista de Exercícios – Classes e Herança 
1. Crie duas classes: Funcionário e Gerente. 
a. Gerente deve ser classe filha de Funcionário 
b. Os atributos de Funcionário são: nome, CPF, salário e departamento 
c. A classe Funcionário tem o método bonificar(), que não recebe nenhum parâmetro, 
e acrescenta 10% ao salário dele 
d. A classe Gerente deve ter atributos adicionais de senha e número de funcionários 
gerenciados 
e. A classe Gerente tem dois métodos a mais 
i. O método autenticarSenha(senha), que apenas compara a senha do 
parâmetro com o valor do atributo senha, retornando True ou False. 
ii. O método bonificar(), que acrescenta ao gerente o valor de 15% ao seu 
salário. 
f. Crie objetos e teste suas classes 
 
2. Crie a classe Emprestável com os atributos privados: título, nomePessoa, telefonePessoa e 
dataEmprestimo com seus getters e setters públicos. 
a. Crie a classe Livro e a classe CD, que herdem de Emprestável e tenham os atributos 
autor e artista, respectivamente, também privados com getters e setters públicos. 
b. Em uma lista, coloque pelo menos 3 itens emprestáveis diferentes de cada tipo, 
emprestados para pessoas diferentes. 
c. Percorra essa lista imprimindo o que foi emprestado para quem e quando, no 
seguinte formato: “O item X foi empresado para Y em Z”. 
d. Para utilizar o suporte a data, inclua no início do seu programa a linha “from 
datetime import *”. As datas devem ser digitadas no formato (hh,mm,ss), conforme 
o exemplo para 11h30: d = time(11,30,00). 
 
3. Crie uma classe Funcionario com atributos privados nome, cpf e salário; e um construtor 
que deve receber como parâmetro nome e cpf. Todos os atributos devem ter métodos 
getters definidos. Crie métodos setters conforme você sentir necessidade. 
a. Crie uma classe TrabalhadorAssalariado e outra TrabalhadorHorista, ambas 
herdando de Funcionario. A classe TrabalhadorAssalariado possui o método 
definirSalario(salario) que recebe um valor como parâmetro e o atribui ao atributo 
salário. 
b. A classe TrabalhadorHorista possui os atributos privados valorHora e 
horasTrabalhadasMes, com seus respectivos getters e setters. Essa classe também 
possui o método calcularPagamento(), que ao ser invocado deve calcular o valor do 
salário e preencher este atributo. O salário é obtido multiplicando-se as horas 
trabalhadas no mês pelo valor da hora. Crie defesas que verifiquem se os atributos 
necessários para o cálculo do salário estão preenchidos. Se não estiverem emita 
aviso. 
c. Crie 3 instâncias de cada utilizando valores diferentes, coloque-os em uma lista e a 
percorra imprimindo os nomes dos funcionários com seus pagamentos do mês. 
 
4. Escreva uma classe SetorPessoal que tenha como atributo uma lista que deverá guardar 
objetos da classe “Funcionário” construída no exercício 1 desta lista. Acrescente os 
seguintes métodos à classe SetorPessoal: 
a. Um método para adicionar funcionários na lista. O funcionário pode ser normal ou 
um gerente, criados como objetos. 
b. Um método para imprimir a folha de pagamento informando o nome dos 
funcionários e o seus respectivos salários, um por linha. 
c. Um método para retornar o valor total da folha de pagamento. 
d. Um método para retornar o nome do funcionário que recebe o maior salário. 
e. Modifique a classe funcionário para acrescentar o nome da sua função/cargo 
f. Inclua um método na classe SetorPessoal que possa receber como parâmetro o 
nome de uma determinada função/cargo e imprimir o nome de todas as pessoas 
que exercem essa função.