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.