Prévia do material em texto
Disciplina: Programação Orientada a Objetos Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( peso.:3,00) Prova: 13827198 Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada 1. A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionamentos de herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. ( ) Uma classe abstrata não pode possuir métodos concretos. ( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteração em suas subclasses. ( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) F - F - V - F. b) V - F - F - V. c) V - V - F - V. d) V - V - F - F. 2. Na linguagem de programação Java, uma boa prática de desenvolvimento de software é programar orientado a objetos, embora a linguagem permita a programação procedural. No paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA: a) O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote. b) O modificador private fornece acesso a todas as classes da aplicação. c) O modificador public para uma classe fornece visibilidade desta classe em todas as demais classes da aplicação. d) O modificador default fornece visibilidade dentro da própria classe. 3. A maioria dos softwares necessitam de persistência de dados em algum tipo de repositório, sendo bancos de dados relacionais os mais utilizados. Neste contexto, a linguagem de programação Java possui uma API, chamada de JDBC, desenvolvida para permitir a conexão com o banco de dados, persistindo os dados de uma aplicação. Esta API suporta vários bancos de dados disponíveis no mercado, como o Oracle e o Mysql. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas: ( ) Os bancos de dados relacionais são baseados na teoria dos conjuntos, por isso são totalmente compatíveis com o desenvolvimento de projetos orientados a objetos. ( ) Um registro de uma tabela de um banco de dados é similar a uma classe da programação orientada a objetos. ( ) A diferença de impedância é resolvida através de técnicas e ferramentas conhecidas por mapeamento do objeto relacional. ( ) O padrão de projeto DAO é uma das soluções utilizadas para resolver o problema de mapeamento do objeto relacional. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F. b) V - V - V - F. c) F - F - V - V. d) F - V - F - F. 4. O framework Collections da plataforma Java possui um conjunto de interfaces e implementações que permitem, entre outras funcionalidades, determinar a ordenação de um grupo de objetos com base em suas características. Acerca da ordenação de objetos, analise as afirmativas a seguir: I- Para ordenar objetos de uma mesma classe, deve-se garantir que tal classe implemente a interface Comparable ou utilize um provider. II- A implementação do método "compareTo" varia conforme o contexto/critério em que a ordenação é aplicada. III- No Java, só é possível ordenar classes Wrappers. IV- Para ordenarmos uma coleção de objetos, podemos utilizar método estático "sort" da classe "ArrayList" Agora, assinale a alternativa CORRETA: a) Somente a sentença IV está correta. b) Somente a sentença III está correta. c) As sentenças I e II estão corretas. d) As sentenças I, II e IV estão corretas. 5. Uma classe abstrai as características e os comportamentos em comum de um conjunto de objetos. Seus métodos definem quais os comportamentos possíveis dos objetos, enquanto os estados possíveis para determinado objeto são definidos pelos atributos. Considerando a declaração de atributos, feita de maneira similiar à declaração de uma variável no Java, analise as sentenças a seguir: I- "salario", "dataDeNascimento" e "super" são exemplos de nomes válidos para atributos. II- A linguagem Java é fortemente tipada, ou seja, toda declaração deve incluir o seu tipo. III- Além dos tipos primitivos, um atributo pode ser do tipo referência. IV- Atributos que não podem ser modificados são do tipo primitivo "void". Agora, assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) As sentenças II, III e IV estão corretas. c) Somente a sentença I está correta. d) As sentenças I e IV estão corretas. 6. No paradigma de orientação a objetos, uma classe é uma estrutura que abstrai um conjunto de objetos que possuem características em comum, e é composta, geralmente, por três elementos básicos: nome, atributos e métodos. Com relação aos atributos, assinale a alternativa CORRETA: a) Existe uma categoria especial de atributos que são chamados de construtores. b) Os atributos de uma classe Java têm como objetivo armazenar os valores lógicos relacionados a ela própria. c) Também conhecidos como operações, os atributos descrevem as funcionalidades de uma determinada classe. d) Os atributos definem o estado de um determinado objeto, enquanto ele está na memória do computador. 7. As coleções (ou collections) são estruturas que permitem o armazenamento através de associação e posterior recuperação de conjuntos de objetos ou mesmo objetos individualmente. Considerando-se uma coleção que aceita duplicatas, em que a ordem dos objetos é a mesma da inserção e que pode ser iterada através de um índice, assinale a alternativa CORRETA que apresenta o nome desta coleção: a) HashMap. b) Vector. c) HashSet. d) ArrayList. 8. No paradigma de programação orientada a objetos, o trabalho do desenvolvedor consiste em observar e representar as relações existentes entre objetos do mundo real na resolução de problemas. Com relação à programação orientada a objetos, assinale a alternativa CORRETA: a) Os valores internos dos objetos não são passíveis de alteração. b) Uma das formas de os objetos se relacionarem entre si é através do envio de mensagens. c) O comportamento de um objeto pode ser determinado através da análise de seu estado. d) As relações entre objetos são comumente chamadas de atributos. 9. No desenvolvimento de software orientado a objetos, muitos padrões surgiram da solução para problemas que normalmente ocorriam, sendo um destes padrões de desenvolvimento o Singleton. O padrão Singleton caracteriza-se pela única instância de uma classe durante a execução de um sistema, pois em alguns casos esta característica é necessária para resolver determinados problemas. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas: ( ) Uma classe implementada com o padrão Singleton não possui o modificador estático (static). ( ) Uma classe implementada com o padrão Singleton sempre utiliza o modificador estático (static). ( ) Uma classe implementada com o padrão Singleton deve ter declarado um atributo private do próprio tipo da classe. ( ) Uma classe implementada com o padrão Singleton deve validar se já está instanciada, e caso negativo, utiliza o comando "new" para instanciar a classe. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F. b) F - V - V - F. c) F - V -V - V. d) V - V - F - F. 10. A utilização de classes abstratas permite uma maior confiabilidade na definição da hierarquia de herança, pois possui características especiais que impedem sua utilização de forma errônea por outros desenvolvedores. Considerando que as palavras sublinhadas na figura a seguir representam erros de compilação, classifique V para as sentenças e F para as falsas: ( ) Bastaria colocar a palavra reservada abstract na frente da palavra class para resolver todos os problemas da classe. ( ) Uma classe abstrata pode possuir métodos concretos. ( ) Somente classes abstratas podem possuir métodos abstratos. ( ) O primeiro método imprime() deve receber um parâmetro de qualquer tipo para que seu erro de compilação seja corrigido. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V. b) V - V - F - F. c) V - F - F - V. d) F - V - V - F.