Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos)

Documentos relacionados
LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10

Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos)

Programação com Objectos 1º Teste 2013/2014 1º Semestre 15 de Novembro de 2013, 18:00 (90 minutos)

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Nome: Número: Primeira Parte (3 valores) Segunda Parte (7 valores) PERGUNTA 1.1 PERGUNTA RESPOSTA NOTA

Nome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)

Programação com Objectos Teste Teórico (repescagem) 24 de Janeiro de 2009, 09:00 (120 minutos)

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

LEIC-A / MEIC-A 2007/2008 (1º

LEIC-A / MEIC-A 2007/2008 (1º

Classes e Objetos. Sintaxe de classe em Java

Classe Abstrata e Interface

Linguagem de Programação III

Linguagem de Programação III

Visibilidade e Encapsulamento

Modificadores de Acesso JAVA

Conceitos de Programação Orientada a Objetos

Curso Profissional de Gestão e Programação de Sistemas Informáticos

Programação com Objectos Teste Teórico 18 de Dezembro de 2008, 19:00 (120 minutos)

Capítulo 2. Orientação a Objetos

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013

Nome: Número: Segunda Parte (3 valores) Primeira Parte (7 valores)

Programação por Objectos. Java

POO29004 Programação Orientada a Objetos

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação com Objectos. 2º Teste 2015/2016 1º Semestre

Herança Tiago Eugenio de Melo

Introdução ao Java. Prof. Herbert Rausch Fernandes

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Desenvolvimento Web II

Versão: Escreva já o seu número em todas as folhas da prova.

Programação Orientada a Objetos Flávio de Oliveira Silva 144

4 Conceito de Herança

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Python Orientação a Objetos. Introdução à Programação SI2

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos

Programação Orientada a Objetos JAVA - NETBEANS

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Herança - Conceitos Básicos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Java para Desktop. Programação Orientada à Objetos 2 JSE

9 Classes Abstractas e Interfaces

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.

Programação Orientada a Objetos

Herança e Polimorfismo

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Programação de Computadores - I. Profª Beatriz Profº Israel

C com introdução a OO

Extensões à JCA. Manuel DI Universidade do Minho Setembro de

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos

Linguagem de Programação I Apresentação da Disciplina

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PROGRAMAÇÃO ORIENTADA A

Universidade Federal de Uberlândia

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

Programação Java (nível intermediário) 4. Polimorfismo

Daniel Wildt

O PARADIGMA ORIENTADO POR OBJETOS

Palavras Reservadas da Linguagem Java

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Orientação a objetos. Objetos ou Instâncias I

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Sobreposição de Métodos

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Herança - Conceitos Básicos

Nome do Aluno: Matrícula: Turma: Data: 08/04/2013

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal

Computação II Orientação a Objetos

Programação Orientada a Objetos JAVA - NETBEANS

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Computação II Orientação a Objetos

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Auto-Referenciamento e Herança

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Aula 7 POO 1 Herança. Profa. Elaine Faria UFU

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Interfaces e Classes Abstratas

Transcrição:

1/7 Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos) Nome: Primeira Parte (7 valores) PERGUNTA NOTA 1.1 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1 2.2 2.3 2.4 2.5 1ª PARTE 2ª PARTE certas 0.6 / erradas -0.15 / ausentes 0 Para alterar uma resposta: riscar a resposta antiga e escrever à frente a nova resposta. Considera-se ausência de resposta a apresentação de várias repostas a uma pergunta, mesmo que uma delas esteja certa. Consideram-se não respondidas as perguntas cujas respostas não estejam assinaladas nesta tabela.

2/7 1.1. (3.0) Considere o seguinte domínio: Uma editora gere vários tipos de publicação (livros, revistas e tabloides), cada um composto por várias peças (artigos, fotografias e publicidade). Podem ser criados mais tipos, tanto de publicação, como de peça. Nem todos os tipos de peça se podem incluir todas em todas as publicações: nos livros, apenas são incluídos artigos; nas revistas, podem ser inseridos artigos e fotografias; nos tabloides, todas as peças podem aparecer. Todas as publicações e peças são identificadas por um número inteiro. As publicações e peças têm ainda a indicação de qual é o título e de quem é o autor. A editora mantém sobre os seus autores um registo, no qual inclui (sobre cada um) o nome e o número de telefone. A forma de disponibilização de publicações, i.e., papel, web, meios móveis, etc., permite oferecer variedade ao consumidor, mas complica a definição de uma arquitetura flexível para a aplicação. Inicialmente, estão definidos dois formatos: textual e estruturado. No formato textual, os atributos das publicações são apresentados sucessivamente e as peças e seus atributos são também simplesmente apresentados de forma textual simples (as fotografias são representadas pelo seu título). No formato estruturado, em XML, cada publicação é iniciada e terminada por uma tag que a caracteriza (respetivamente, <book>, <magazine>, etc. e </book>, etc.), o mesmo se passando com as peças. Os atributos são apresentados como atributos XML (e.g., para o autor de um livro: <book author="anónimo">). Os elementos internos são ancorados dentro dos externos, como é habitual em XML. A solução de apresentação deve permitir flexibilidade na definição de novas formas de apresentação sem impacto no código existente. Desenhe o diagrama de classes UML correspondente ao domínio apresentado. Represente todas as classes (seus nomes, métodos e atributos). Indique também as relações de herança, associação e agregação.

1.1. (espaço adicional) 3/7

4/7 1.2. (1.0 val.) Modele e implemente a classe Table que contém um número fixo de inteiros (especificado na altura da criação das suas instâncias). Essa classe possui um método (print) que permite imprimir todo o conteúdo, aplicando uma transformação a cada valor. A transformação aplicada varia de acordo com o tipo do objecto Transform, passado como como argumento de print. As potenciais transformações têm um método transform (aceita um inteiro e devolve outro inteiro) que permite modificar um valor inteiro de uma forma específica. Defina os conceitos Table e Transform. Defina ainda duas transformações: uma que calcula o sucessor de cada inteiro (Successor); e outra que calcule o quadrado de cada um dos valores da tabela (Square). Pode realizar outros conceitos/métodos que julgue necessitar. Evite repetições de código.

1.2. (espaço adicional) 5/7

6/7 1.3. (1.5 val.) Os mecanismos de herança entre classes e de composição de objetos são, por vezes, apresentados como alternativos, face à disponibilização de funcionalidade ao código de uma classe. Compare-os, em termos de potencialidade e flexibilidade. 1.4. (1.5 val.) Relacione o mecanismo de herança e o conceito de polimorfismo e diga de que forma potenciam o desenvolvimento incremental e evitam a repetição de código. Na discussão, foque os aspetos positivos e possíveis limitações. Que conceitos estão disponíveis em Java para realizar aqueles mecanismos? Ilustre com um exemplo.

7/7 2.1. Considere o diagrama UML da figura 1 (à direita). Qual das seguintes afirmações está correta? (a) a implementação de dothat tem de estar necessariamente em A (b) dothat não está definido para B (c) doit pode ser diretamente invocado através de referências para I (d) A fornece a implementação para métodos declarados por I (e) A é uma classe derivada de B 2.2. Em Java, qual das seguintes frases está correta? (a) uma classe interna não pode ser anónima (b) uma exceção pode ser apanhada e relançada (c) uma classe anónima não pode implementar uma interface (d) os métodos de classes anónimas não podem lançar exceções (e) uma classe abstrata pode ser instanciada se definir pelo menos um construtor Figura 1 (todos os métodos estão implementados) 2.3. Em Java, um método declarado private... (a) não pode chamar outros métodos (b) não pode ser redefinido (c) não pode ser declarado static (d) não pode ser usado por construtores (e) pode ser acedido por classes da mesma package 2.4. Em Java, o mecanismo de redefinição de métodos... (a) não pode ser utilizado por classes anónimas (b) permite redefinir numa subclasse qualquer método de uma superclasse (c) funciona apenas se os métodos não forem declarados static (d) não funciona para métodos públicos (e) nenhuma das anteriores 2.5. Em Java, a utilização da palavra protected... (a) indica que apenas as classes da mesma package podem aceder ao membro da classe em causa (b) permite definir um atributo como sendo constante (c) permite acesso aos membros da classe assim declarados, por parte de classes dela derivadas, definidas em outras packages (d) permite garantir que um método assim declarado não altera o objeto sobre o qual é chamado (e) impede o acesso aos membros assim declarados (i.e., apenas a própria classe lhes tem acesso) NÃO ESQUECER DE PREENCHER A FOLHA DE ROSTO