Prévia do material em texto
Acadêmico: Wallyson Maciel de Lima () Disciplina: Programação Orientada a Objetos (ADS17) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:456753) ( peso.:3,00) Prova: 13777527 Nota da Prova: 4,00 Legenda: Resposta Certa Sua Resposta Errada 1. Existem quatro plataformas para a programação em Java: Java Platform Standard Edition (Java SE), Java Platform Enterprise Edition (Java EE), Java Platform Mobile Edition (Java ME) e Java FX. Cada plataforma é destinada a um tipo diferente de aplicação e possui o seu conjunto de APIs. Com relação à plataforma Java ME, analise as afirmativas a seguir: I- Utiliza um subconjunto das bibliotecas disponibilizadas pela Java Platform Standard Edition. II- Plataforma que comporta o desenvolvimento de aplicações móveis, bem como aplicações escritas em JavaFX Script. III- Permite a criação de RIA (Rich Internet Applications) usando interfaces aceleradas por hardware. IV- Em determinados dispositivos, é possível executar aplicações desenvolvidas para Java ME sem a presença de uma JVM (Java Virtual Machine). Agora, assinale a alternativa CORRETA: a) Somente a afirmativa I está correta. b) As afirmativas II e III estão corretas. c) As afirmativas I e IV estão corretas. d) As afirmativas II, III e IV estão corretas. 2. A linguagem de programação Java obedece ao conceito de tipagem forte, em que todas as variáveis declaradas em uma classe ou interface devem ter seu tipo definido no momento da declaração. Com relação à tipagem e à definição das variáveis na linguagem Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Não existe limitação para o número de atributos dentro de uma classe na linguagem de programação Java. ( ) O valor assumido pelos atributos de um objeto representam o estado interno de um objeto. ( ) Cada instância de uma classe pode possuir valores distintos para seus atributos. ( ) Através da declaração ?String nome;? dentro de uma classe, cria-se uma variável cujo valor sempre será compartilhado entre todas as instâncias. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) F - V - F - V. b) V - F - F - F. c) V - F - F - V. d) V - V - V - F. 3. Assim como arrays, as classes e as interfaces do Collections Framework da linguagem de programação Java possuem a vantagem de tornar o código-fonte mais legível e fácil de manipular. Existe o tipo de coleção ArrayList que pode armazenar uma lista de elementos de qualquer tipo, podendo ser String, Real, Double, Boolean, entre outros, ou ainda objetos criados a partir de classes da aplicação, como a lista de objetos do tipo Pessoa. Além deste, temos também o tipo de coleção Hashmap, que consome menos recursos quando se deseja pesquisar entre os elementos armazenados, pois utiliza um objeto-chave e um objeto-valor. Referente ao código- fonte anexo, analise as afirmativas a seguir: I- No final da execução da classe "ExemploHashmap", do código-fonte apresentado, a coleção "mapa" possui 3 elementos. II- No final da execução da classe "ExemploHashmap", do código-fonte apresentado, a coleção "mapa" possui 2 elementos. III- No final da execução da classe "ExemploHashmap", do código-fonte apresentado, linha 15, serão impressas 3 linhas com os seguintes valores respectivamente: "1 - Gol", "2 - Palio" e "3 - Celta". IV- No final da execução da classe "ExemploHashmap", do código-fonte apresentado, linha 15, serão impressas 2 linhas com os seguintes valores respectivamente: "1 - Gol" e "2 - Palio". Assinale a alternativa CORRETA: a) As afirmativas I e II estão corretas. b) As afirmativas II e IV estão corretas. c) Somente a afirmativa IV está correta. d) As afirmativas I e III estão corretas. 4. A programação orientada a objeto não é apenas uma forma de programar, é também um jeito de pensar em um problema utilizando conceitos do mundo real e não somente conceitos computacionais. Considerando os conceitos da programação orientada a objetos, analise as sentenças a seguir: I- O objeto tem determinadas propriedades que o caracterizam e que são armazenadas no próprio objeto. As propriedades de um objeto são chamadas de instâncias. II- As mensagens são informações enviadas ao objeto para que ele se comporte de uma determinada maneira. Um programa orientado a objetos em execução consiste de envios, interpretações e respostas às mensagens. São os métodos e os procedimentos residentes nos objetos, que determinam como eles atuarão ao receber as mensagens. III- O relacionamento de associação é caracterizado quando um objeto invoca o método de outro objeto. Agora, assinale a alternativa CORRETA: a) Somente a sentença II está correta. b) As sentenças II e III estão corretas. c) Somente a sentença I está correta. d) As sentenças I e III estão corretas. 5. Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. II- O Java não permite a implementação do polimorfismo paramétrico. III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. Agora, assinale a alternativa CORRETA: a) As afirmativas II, III e IV estão corretas. b) Somente a afirmativa I está correta. c) As afirmativas I e IV estão corretas. d) As afirmativas II e IV estão corretas. 6. A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA: a) O modificador default permite o acesso padrão a todos dentro da mesma aplicação. b) Um método com o modificador public não faz sentido em uma classe com o modificador default. c) O modificador public não pode ser usado na frente de atributos. d) O modificador private permite o acesso somente dentro do mesmo pacote. 7. Da mesma forma que a comparação de igualdade entre objetos, a linguagem de programação Java oferece um mecanismo que permite a definição dos critérios de ordenação para objetos que forem colocados em uma coleção ordenável. Com relação aos métodos de ordenação disponíveis para objetos em coleções, assinale a alternativa CORRETA: a) A Interface Comparable deve ser implementada por um objeto externo chamado de provider, que procederá com a ordenação de dois objetos de cada vez. b) O método compareTo(Object, object) da Interface Comparable retorna um object, quando sobrescrito. c) O método compare(Object arg1, Object arg2) está disponível na interface Comparator. d) A Interface Comparator deve ser implementada pelos objetos que estiverem sendo ordenados. 8. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em quepodemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo tem como superclasse a classe FormaGeometrica. Agora, assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) As sentenças I e III estão corretas. c) Somente a sentença I está correta. d) As sentenças I e II estão corretas. 9. Assim como na programação procedural, a programação orientada a objetos tem recursos para tratamentos de erros. Neste sentido, a plataforma Java possui recursos robustos que tratam os erros que podem acontecer em tempo de execução, tanto para exceções verificadas quanto para as não verificadas. É importante que o programador trate as possíveis exceções que podem ocorrer, pois, caso contrário, elas estourarão no usuário. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas: ( ) Na linguagem de programação Java, podemos tratar as exceções através dos comandos "try{} catch(){}". ( ) Na linguagem de programação Java, quanto um comando tenta acessar um índice inválido de um ArrayList, será retornada a exceção "ArrayIndexOutOfBoundException". ( ) As exceções não verificadas podem ser tratadas através de validações no código-fonte, evitando a ocorrência de erros. ( ) Uma exceção nunca pode ser delegada pelo método que invocou um determinado método, o qual pode sofrer uma exceção, devendo ser tratado sempre no próprio método. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - F - F. b) V - V - V - F. c) V - F - V - F. d) V - F - F - V. 10. Quando dois objetos são referenciados por variáveis diferentes, a igualdade entre estes objetos pode ser definida através da sobrescrição do método equals(), em que é determinado qual ou quais atributos devem representar esta igualdade. Considerando o mecanismo de referenciação da Java Virtual Machine e o código fonte a seguir, assinale a alternativa CORRETA: a) O console imprimirá iguais. b) O console imprimirá diferentes. c) Ocorre um erro de compilação. d) Ocorre um erro na execução.