Programação Orientada a Objetos Lista de Exercícios 1

Propaganda
Programação Orientada a Objetos
Lista de Exercícios 1
Thiago Serra F Carvalho
[email protected]
Os exercícios desta lista testam seus conhecimentos em UML (Diagrama de Classes), Denição de Classes, Objetos,
métodos e atributos.
Você deverá entregar as questões teóricas e código fonte contendo seu nome e turma identicadas no cabeçalho (utilize
os comentários no código Python.
Os códigos fonte e modelos do ArgoUML devem seguir junto a resolução das questões, tudo em um único arquivo
compactado enviado para o e-mail acima.
Códigos fontes em Pyhton serão testados no Python 3.5.
1. Considerando as aulas sobre POO, escreva abaixo o que você entendeu sobre:
• Classe;
• Objeto;
• Herança;
• Interface;
• Atributo;
• Método;
• Visibilidade de elementos (quais são os tipos? o que signica cada um?)
2. Considera a classe abaixo para representar alunos:
class Aluno:
# sexo pode ser "f" ou "m"
# nome é uma cadeia de caracteres
# idade é um inteiro
def __init__(self, nome, idade, sexo):
self.nome = nome
self.idade = idade
self.sexo = sexo
1
• Escreva uma função (não um método) que permita ler dados de vários alunos, até que a nome "m"seja
digitado;
• Implemente na classe um método que permita imprimir na tela os dados que acabaram de ser digitados
pelo usuário conforme exemplo abaixo:
Digitação feita pelo usuário:
Aluno: 'João da Silva'
Idade: '22'
Sexo: 'M'
>>> Você digitou: João da Silva, Masculino, 22 anos
• Crie uma subclasse (AlunoPosGraduacao) que implemente as informações de escolaridade (atributos míni-
mos: Formação, Colégio/Faculdade e Data da Conclusão);
• Implemente uma função que imprima os dados de todos os alunos.
• Gere o modelo dessas classes no
ArgoUML.
3. Utilizando o Diagrama de Classes e se concentrando no modelo que será apresentado a sua equipe, dena os
objetos e relacionamento entre estes, conforme caso abaixo:
O usuário deseja que o sistema seja capaz de armazenar os dados:
• dos fornecedores (razão social, nome fantasia, CNPJ, endereço, telefone, e-mail, pessoa de contato);
• dos produtos vendidos por cada fornecedor (descrição, quantidade mínima e máxima para compra por
pedido, tipo de unidade vendida (se é por quantidade, peso ou volume), preço por unidade/peso, preço de
revenda);
• do estoque dos produtos.
4. Escreva em Python o código para as classes do exercício acima em Python.
5. Pense nos diversos formulários que você já preencheu na internet e, que normalmente pedem seus dados pessoais
e endereços.
Agora, crie uma classe (e subclasses, se for caso) para representar as seguintes telas, sabendo que são variações
de um mesmo cadastro:
2
Figura 1: Cadastro de Pessoa Física
Figura 2: Cadastro de Pessoa Jurídica
3
Figura 3: Cadastro de Endereço
4
Download