Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal de Lavras Departamento de Ciência da Computação GCC110 – Programação Orientada a Objetos Claudiane Maria Oliveira Exercícios de Polimorfismo e Herança 1) Crie uma classe “Produto” que possua os atributos “nomeloja” e “preco”, crie os métodos sets e gets para estes atributos. Crie também o atributo “descrição” e seu método chamado “getDescrição” que retorna uma string com o simples conteúdo “Produto de informática”. 2) Crie duas classes filhas de “Produto”, que serão “Mouse” com o atributo “tipo” e “Livro” com o atributo “autor”, no método construtor de cada uma dessas classes passe como argumento a descrição desse produto, por exemplo, Mouse(“Mouse ótico, Saída USB. 1.600 dpi”); Crie o método “getDescrição” que retorna a descrição que foi passada no argumento do construtor concatenada com o atributo que a classe tiver, “autor” no caso de livro e “tipo” no caso de mouse, esse método deve ter a mesma assinatura do método “getDescrição” da classe pai “Produto”. 3) Crie uma classe “Main” que irá simular a compra de um cliente de vários mouses e livros, deve haver apenas um vector/arraylist na classe “Main” para armazenamento de todos os livros e mouses. Esse vector/arraylist deve se chamar “carrinho” que simula o carrinho de compras de produtos variados de um cliente em um e-commerce. Insira nesse “carrinho” vários mouses e livros e depois chame o método “getDescrição” de todos os objetos presentes no vector/arraylist. Para o usuário do carrinho saber as informações dos produtos em seu carrinho. Universidade Federal de Lavras Departamento de Ciência da Computação GCC110 – Programação Orientada a Objetos - Turma 10A/22A Claudiane Maria Oliveira Definição dos Seminários 1. Informações Gerais: 1. Grupos: Máximo de 5 alunos. 2. Temas das apresentações: padrões de projeto, POO em outras linguagens de programação e outros assuntos da POO. 3. As apresentações deverão ser construídas considerando dois aspectos importantes: 1. Aspectos teóricos: definição de conceitos, paradigmas, métodos, etc. 2. Aspectos práticos: exemplos, estudos de caso, etc. 4. Datas de apresentação: 1. 22/06/15 – aula inicia as 13:00h até as 15:40 – 2h40mim 2. 24/06/15 – aula inicia as 16:00 até as 18:40 – 2h40min 5. Data limite de entrega do relatório: 21/06/2015 às 18:00 6. Valor de 30% - Distribuídos em apresentação e o relatório. 2. Informações importantes sobre a apresentação: 1. Os temas de cada grupo serão sorteados. 2. Tempo: 25 minutos com tolerância de +/- 5 minutos. 3. Perguntas: 5 minutos. 4. Será necessária a entrega de um relatório da apresentação (em forma de artigo) contendo principais pontos discutidos na mesma: introdução, desenvolvimento, conclusão e referências bibliográficas. O relatório deve ter de 3 a 6 páginas, seguindo o template da SBC (http://www.sbc.org.br/index.php? option=com_jdownloads&Itemid=195&task=view.download&catid=32&cid=38). O relatório será disponibilizado a toda a turma 1 dia antes do início da apresentações, ou seja o mesmo deve ser entregue até dia 21/06/15. O trabalho deve ser entregue em versão eletrônica pelo Moodle (http://aluno.dcc.ufla.br) em formato .pdf (não enviar .doc, .docx, .odt etc.). 5. Arquivos compactados somente .zip e .tar.gz (não enviar .rar, .z etc.). Não use acentos e nem “ç” nos nomes de arquivo. Nomes dos arquivos: [numero_do_grupo-Descricao_do_Tema], por exemplo: Grupo1-Padroes_Criacao_Abstract_Builder_Factory.pdf 6. Uma mesma nota será atribuída a todos os membros do grupo. 7. Participação Obrigatória. Cada grupo deverá responder no mínimo a duas perguntas, durante a etapa de perguntas. As perguntas deverão ser feitas por integrantes dos demais grupos (os grupos que deverão fazer as perguntas serão sorteados na hora). O grupo sorteado que não participar durante a etapa de perguntas perderá pontos em sua própria apresentação (independentemente se a mesma já foi realizada ou ainda será realizada). Um grupo sorteado que não contar com nenhum integrante presente também perderá pontos em sua própria apresentação. 3. Temas das apresentações TEMA 1: Padrões de Projeto – Criação (Abstract Factory, Builder, Factory Method) TEMA 2: Padrões de Projeto – Criação (Prototype e Singleton) e Estruturais( Adapter) TEMA 3: Padrões de Projeto – Estruturais (Bridge, Composite, Decorator) TEMA 4: Padrões de Projeto – Estruturais (Façade, Flyweight Proxy) Comportamentais (Chain of Responsibility) TEMA 5: Padrões de Projeto – Comportamentais (Command, Interpreter, Iterator) TEMA 6: Padrões de Projeto – Comportamentais (Mediator, Memento, Observer) TEMA 7: Padrões de Projeto – Comportamentais (State, Strategy, Template Method, Visitor) TEMA 8: Arquitetura MVC (Model View Controller) e padrões de projetos envolvidos TEMA 9: Tratamento de Exceções em Java TEMA 10: Arquivos e Fluxos de Objetos e Java TEMA 11: POO em Python TEMA 12: POO em C++
Compartilhar