Buscar

Programação Orientada a Objetos - Avaliação Final (Objetiva) - Individual Semipresencial

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1O padrão de projeto Singleton aumenta a qualidade e a produtividade do desenvolvimento de software orientado a objetos, pois é capaz de solucionar problemas rotineiros que normalmente ocorrem durante as etapas do desenvolvimento de um software. Esse padrão descreve uma implementação na qual uma classe é instanciada uma única vez durante a execução de uma aplicação. Referente aos códigos-fonte que implementam um exemplo da aplicação Singleton e sua execução para a classe Memoria, classifique V para as sentenças verdadeiras e F para as falsas:
(1)public class Memoria{
(2) private static Memoria memoryInstance;
(3) private double quantidadeMemoria;
(4)
(5) private Memoria(){}
(6)
(7)
(8) public static Memoria getInstance() {
(9) if(memoryInstance == null) {
(10) memoryInstance = new Memoria();
(11) }
(12) return memoryInstance;
(13) }
(14)
(15) public double getQuantidadeMemoria() {
(16) return this.quantidadeMemoria;
(17) }
(18)
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
(1)    public static void main(String[] args){
(2)
(3)        Memoria memoria1, memoria2, memoria3;
(4)        
(5)        memoria1 =  Memoria.getInstance();
(6)        memoria2 =  Memoria.getInstance();
(7)        memoria3 =  new Memoria();
(8)
(9)          System.out.println(memoria1);
(10)        System.out.println(memoria2);
(11)        System.out.println(memoria3);
(12)    }    
(    ) A linha 10, do código-fonte da classe Memoria, garante que apenas um objeto desse tipo pode ser criado na aplicação.
(    ) A instrução condicional, do código-fonte da classe Memoria, é redundante e pode ser retirado já que na invocação do método, um objeto do mesmo tipo da classe, já está criado na aplicação.
(    ) O código implementado para executar a classe Memoria executa sem apresentar qualquer erro, uma vez que obedece às regras de implementação do padrão Singleton.
(    ) A instrução condicional do código-fonte da classe Memoria garante que na invocação do método, a existência de um objeto do mesmo tipo da classe é avaliada para garantir a unicidade deste objeto na aplicação.
Assinale a alternativa que apresenta a sequência CORRETA:
A)  V - F - F - V.
B)  F - F - V - V.
C)  F - V - V - F.
D)  F - F - F - V.
2A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto de atributos, também conhecidos como o estado desta classe e um conjunto de métodos, também conhecidos como o comportamento desta classe. Considerando a estrutura da Classe Principal demonstrada na figura a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
(    ) A linha 1 define, através da palavra reservada "package", que a classe está agrupada, sem precisar obedecer as suas responsabilidades dentro de uma aplicação.
(    ) Já que o método "Aluno()" não possui parâmetros as linhas 7 a 9 geram erros de compilação.
(    ) Pode-se afirmar que o tipo de dados do atributo "nome", existente na classe aluno é do tipo caracter.
(    ) Pode-se afirmar que o tipo de dados do atributo "matricula", existente na classe aluno é do tipo alfanumérico.
Assinale a alternativa que apresenta a sequência CORRETA:
A)  F - F - V - F.
B)  F - F - V - V.
C)  V - F - F - V.
D)  F - V - V - F.
3O encapsulamento ajuda a diminuir o acoplamento entre os objetos de um sistema, pois prega que somente o que é absolutamente necessário deve ser exposto aos demais. Com relação ao encapsulamento, assinale a alternativa CORRETA:
A)  O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais facilidade.
B)  Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
C)  Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no momento da instanciação.
D)  Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
4Na linguagem Java, existe um recurso muito importante e vantajoso para o desenvolvimento de software: coleções. As coleções são parecidas com os vetores ou arrays, porém elas permitem o armazenamento de objetos. Neste sentido, com um arraylist, podemos criar uma lista de objetos, sendo a sintaxe: ArrayList
A)  A condição da linha 33 é verdadeira, e será atribuído mais um objeto à lista.
B)  Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" terá dois objetos armazenados.
C)  Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" não terá nenhum elemento.
D)  Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" terá apenas um objeto armazenado.
5No paradigma da orientação a objetos, um objeto é a instância de uma classe, isto é, cria-se em memória um objeto do tipo da classe desejada. Neste sentido, quando instancia-se uma classe, estamos criando em memória toda a classe, ou seja, todos os seus atributos e métodos. No entanto, em alguns casos, precisamos utilizar apenas algum método ou atributo de uma determinada classe, e instanciá-la em memória seria uso desnecessário da memória. Neste caso, podemos definir o modificador do método como static, permitindo que este seja acessado diretamente pelo nome da classe, sem instanciá-la. Referente ao código-fonte anexo, analise as afirmativas a seguir:
I- Ao executar a classe "Exemplo", ocorrerá um erro durante a execução, pois não foi instanciada a classe "Carro".
II- Os métodos"getidModelo()" e "calcularDistancia()" são acessíveis na classe "Exemplo" sem ter que instanciar a classe Carro.
III- O método "calcularDistancia()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro.
IV- O método "getidModelo ()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro.
Assinale a alternativa CORRETA:
A)  As afirmativas I e IV estão corretas.
B)  As afirmativas II e IV estão corretas.
C)  Somente a afirmativa III está correta.
D)  As afirmativas I e III estão corretas.
6Existem oito tipos de dados primitivos suportados pelo Java. Tipos de dados primitivos são predefinidos pela linguagem e nomeados por uma palavra-chave. Considerando os tipos de dados primitivos, assinale a alternativa INCORRETA:
A)  Byte.
B)  Text.
C)  Double.
D)  Short.
7Para se ter a noção de classes e objetos, é importante compreender que o paradigma modular resolveu diversos problemas do paradigma procedural, entretanto, ao utilizá-lo os programadores conseguiram identificar algumas deficiências que prejudicavam sua produtividade. A programação orientada a objetos (POO) abordou estas deficiências adicionando os conceitos de herança e polimorfismo e retirando o aspecto procedural do controle do programa.
Nesse sentido, assinale a alternativa CORRETA que apresenta uma definição de classe:
A)  É o projeto de um objeto. Informa à máquina virtual como criar um objeto desse tipo específico. Cada objeto criado a partir desse método terá seus valores distintos para as variáveis de instância do método.
B)  É o projeto de um objeto. Informa à máquina virtual como criar um objeto desse tipo específico. Cada objeto criado a partir dessa classe terá seus valores distintos para as variáveis de instância da classe.
C)  É o projeto de um atributo. Informa à máquina virtual como criar um atributo desse tipo específico. Cada atributo criado a partir dessa classe terá seus valores distintos para as variáveis de instância da classe.
D)  É o projeto de um método. Informa à máquina virtual como criar um método desse tipo específico. Cada método criado a partir dessa classe terá seus valores distintos para as variáveis de instância da classe.
8O framework Collections da plataforma Java é uma arquitetura unificada para representar e manipular coleções de objetos independentemente dos detalhes de implementação. Com relação a este framework, assinale a alternativa CORRETA que apresenta a classe que permite associar elementos com chaves:
A)  java.util.ArrayList.
B)  java.util.Set.
C)  java.util.Vector.
D)  java.util.HashMap.
9Classes abstratas são um recursopoderoso da linguagem Java para criação de abstrações. Utilizando classes abstratas pode-se alcançar bons níveis de reutilização de código-fonte, além de fortalecer e favorecer o conceito de polimorfismo, permitindo a reutilização e a extensão de estado e comportamento entre classes. Sobre as características das classes abstratas, analise as sentenças a seguir:
I- Classes abstratas, por via de regra, não podem gerar objetos, mas construtores abstratos, construtores especiais, podem ser utilizados por essas classes para permitir que objetos sejam criados.
II- Os métodos concretos de uma classe abstrata podem ser compartilhados, sem alterações, por todas as suas classes concretas geradas.
III- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve implementar todos os métodos abstratos presentes na hierarquia.
IV- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve alterar todos os métodos concretos presentes na hierarquia.
Assinale a alternativa CORRETA:
A)  As sentenças I e II estão corretas.
B)  As sentenças II e IV estão corretas.
C)  As sentenças II e III estão corretas.
D)  As sentenças III e IV estão corretas.
10O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra classe, abstrata, possui um método com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), executando a operação correta. Conforme exemplificado, a implementação de polimorfismo pode ocorrer através de uma classe abstrata, cujos métodos são declarados, mas não definidos. 
Com relação ao código-fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA:
A)  Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois recebem a instância de classes de outro tipo ("Carro" e "Caminhao").
B)  Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
C)  As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....".
D)  A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....".

Outros materiais