Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:687707) Peso da Avaliação 3,00 Prova 41020453 Qtd. de Questões 10 Acertos/Erros 9/1 Nota 9,00 A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto de atributos, também conhecido 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: ( ) Se o método calcularMedia(), chamado na linha 9, retorna um valor, esse valor é com certeza do tipo numérico. ( ) Todas as classes Java de uma aplicação devem possuir um método chamado de main. ( ) Substituindo a linha 6 pela instrução "Aluno a = null;" ocasionaremos erro de compilação no código. ( ) A linha 5 marca o que é conhecido como o ponto de entrada da aplicação. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. B V - F - F - V. C V - V - F - V. D V - F - V - F. O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade uma vez que as classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe Atleta: package fontes; public class Atleta{ private int pais; private String modalidade; private boolean medalistaOlimpico; public abstract void competir(String modalidade) { System.out.println("É especialista em " + modalidade); } public void competirPor(int pais){ System.out.println("O atleta compete por " + pais); } } I- A classe em questão apresenta problemas de sintaxe. II- O método competirPor(int pais) não está gerando erro de sintaxe e usa corretamente a palavra-chave void. III- O método competirPor(int pais) gera erros de sintaxe, e necessita da palavra-chave abstract antes da palavra-chave void. IV- O método "competir(String modalidade)" não gera erro de sintaxe. Assinale a alternativa CORRETA: A As sentenças III e IV estão corretas. B As sentenças I e II estão corretas. C As sentenças I e III estão corretas. D As sentenças II e IV estão corretas. VOLTAR A+ Alterar modo de visualização 1 2 O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O polimorfismo permite que outras classes representem o comportamento de classes que elas referenciam. Com relação às classes criadas no código- fonte, classifique V para as sentenças verdadeiras e F para as falsas: (1)public class Veiculo { (2) public void parar(){} (3)} (4) (5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println("Parando a motocicleta!!"); (8) } (9)} (10) (11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println("Parando o veículo utilitário!!"); (15) } (16)} (17) (18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)} ( ) Não existe o polimorfismo implementado entre as classes do exemplo, uma vez que a classe Veiculo não é uma classe abstrata. ( ) Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e Suv). ( ) Existe o polimorfismo implementado entre as classes do exemplo, mesmo a classe Veiculo sendo uma classe concreta. ( ) A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois (Parando o veículo utilitário!!). Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B F - F - V - V. C F - V - V - F. D V - F - F - V. O 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 = Memoria.getInstance(); (4) System.out.println(memoria1); (5) } ( ) Na linha 3, do código-fonte de execução da classe Memoria, o trecho Memoria.getInstance() cria, e retorna, um objeto único da classe Memoria. ( ) A linha 5, do código-fonte de classe Memoria, utiliza um modificador de visibilidade igual ao padrão usado nas implementações de classes Java, e é usado como um recurso de segurança do padrão Sigleton. ( ) A linha 3, do código-fonte de execução da classe Memoria, poderia ser substituído pelo código Memoria memoria1 = new Memoria(), sem qualquer prejuízo para o funcionamento chave do padrão Singleton. ( ) A linha 5, do código-fonte da classe Memoria, utiliza um modificador de visibilidade que foge ao padrão usado nas implementações de classes Java, uma vez que complementa a capacidade do padrão Singleton em permitir a criação de apenas um objeto para as classes as quais os comportamentos necessitam dessa condição. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. B V - V - F - F. C F - V - V - F. D V - F - F - V. 3 4 A Orientação a Objetos (OO), nascida mais ou menos na década de 1990, surgiu com uma proposta de resolver alguns problemas crônicos dos paradigmas de desenvolvimento de programas e softwares existentes na época, como a reutilização e a manutenibilidade desses programas e softwares. Hoje, depois de quase 30 anos, o paradigma OO está consolidado na indústria de software e é utilizado também em outras abordagens de desenvolvimento como a Orientação a Serviços. Sobre as vantagens oferecidas por programas criados usando o paradigma da orientação a objetos (OO), classifique V para as sentenças verdadeiras e F para as falsas: ( ) A criação de programas usando esse paradigma permite a criação de programas mais naturais, próximos dos conceitos do mundo real, uma vez que os objetos, e seus comportamentos, devem traduzir os conceitos do mundo real. ( ) Os programas usando esse paradigma podem ser comparados à montagem de peças de um Lego, uma vez que os objetos podem ser reutilizados (partes genéricas que podem ser combinadas) e combinados para a execução de tarefas em diferentes programas e softwares. ( ) Programas escritos utilizando esse paradigma tendem a ser menos confiáveis que os escritos em outros paradigmas devido ao excesso de controle que deve ser atribuído à comunicação entre os objetos criados para diferentes módulos de um programa ou software. ( ) Programas escritos no paradigma OO são menos extensíveis que os criados em outros paradigmas, uma vez que a extensão de suas características é limitada pela falta de recursos, e características, que permitam essa extensão. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - V. B V - F - F - V. C V - V - F - F. D F - F - V - V. Quando se iniciam os estudos para o desenvolvimentode programas utilizando a linguagem de programação Java, deve-se inicialmente preparar o ambiente com a instalação, e configuração, de componentes de software que servirão como base para a criação e execução desses programas. Sobre o ambiente necessário para criar e executar programas escritos na linguagem Java, assinale a alternativa CORRETA: A O primeiro passo para a preparação do ambiente de programação usando a linguagem de programação Java é a instalação e configuração do JDK. B O primeiro passo para a preparação do ambiente de programação usando a linguagem de programação Java é a escolha de uma IDE (Integrated Development Environment) por exemplo, o Eclipse. C Com relação ao ambiente não existe diferença entre o JDK e o JRE, uma vez que ambos servem como suporte para a criação e/ou execução de programas na linguagem Java. D O JRE permite aos desenvolvedores criar programas Java que podem ser pela JVM e pelo JDK. O 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.HashMap. B java.util.Vector. C java.util.ArrayList. D java.util.Set. 5 6 7 A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas: public class Bicicleta{ private char tamanhoQuadro; private int numeroMarchas; private char tamanhoRoda; public void movimentar(){ System.out.println("O objeto bike está em movimento!!"); } } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; } ( ) public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ this.numeroMarchas = numeroMarchas; this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char roda){ this.tamanhoRoda = roda; } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tamanhoQuadro, int numeroMarchas){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } ( ) public Bicicleta(){ this.numeroMarchas = numeroMarchas; } public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ } Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B F - V - F - V. C V - V - F - F. D F - V - V - F. A api de collections da plataforma Java foi implementada como um conjunto de classes utilitárias que fornecem funcionalidades referentes à inserção, manipulação e busca de objetos dentro de estruturas de armazenamento na memória. Sua utilização em conjunto com interfaces e classes estáticas que permitem a ordenação e a comparação de objetos é um excelente exemplo de reutilização de código e encapsulamento. Com relação à api de collections e às funcionalidades de ordenação e comparação de objetos, analise as sentenças a seguir: I- 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. II- A Interface Comparable deve ser implementada pelos objetos que estiverem sendo ordenados. III- O método equals permite a comparação tanto através de critérios relacionados a atributos quanto por referências. IV- A ordenação dos objetos nas coleções é feita através do método compareTo(). Agora, assinale a alternativa CORRETA: A As sentenças I, II e IV estão corretas. B Somente a sentença IV está correta. C As sentenças II e III estão corretas. D Somente a sentença II está correta. Na 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. 8 9 10 Neste sentido, com um arraylist, podemos criar uma lista de objetos, sendo a sintaxe: ArrayList. Analise o código-fonte a seguir e assinale a alternativa CORRETA: A Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" terá apenas um objeto armazenado. 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 A condição da linha 33 é verdadeira, e será atribuído mais um objeto à lista. Imprimir
Compartilhar