Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 1/7 Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:746064) Peso da Avaliação 3,00 Prova 49692232 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 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 compare(Object arg1, Object arg2) está disponível na interface Comparator. C O método compareTo(Object, object) da Interface Comparable retorna um object, quando sobrescrito. D A Interface Comparator deve ser implementada pelos objetos que estiverem sendo ordenados. 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; VOLTAR A+ Alterar modo de visualização 1 2 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 2/7 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 - V - F. C V - V - F - F. D F - V - F - V. Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e duas maneiras de se estabelecer uma relação entre objetos são através da associação e da herança que devem ser utilizados na solução de problemas diferentes. Sobre esses relacionamentos, analise as sentenças a seguir: I- Quando um relacionamento de associação é estabelecido entre duas ou mais classes, significa que os objetos dessas classes estão relacionados, de alguma maneira, no mundo real. II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de maneira diferente do que nos relacionamentos de herança. III- Os relacionamentos do tipo "associação" são implementados na linguagem de programação Java através das palavras reservadas "associate to". 3 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 3/7 IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma herança. Assinale a alternativa CORRETA: A As sentenças I e IV estão corretas. B As sentenças II e III estão corretas. C As sentenças I e III estão corretas. D As sentenças II e IV estão corretas. A 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 obedecendo 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 V - F - V - F. B V - V - F - F. C F - F - V - F. D F - F - V - V. A linguagem Java é uma das linguagens de programação mais utilizadas nos dias de hoje. Neste contexto, sobre as vantagens da linguagem Java, assinale a alternativa INCORRETA: A Java é multiplataforma. B Todas ferramentas do java são pagas e são mantidas pela Oracle, que é uma empresa extremamente confiável. C Possui sintaxe semelhante as da linguagem C e C++. 4 5 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 4/7 D Segue com rigor adequado os conceitos de Herança, Encapsulamento e Polimorfismo. 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. Com isso em mente, avalie as sentenças referentes ao código-fonte que implementa um exemplo da aplicação Singleton para a classe Memoria: (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) Memoria memoria2 = Memoria.getInstance(); (5) (6) System.out.println(memoria1); (7) System.out.println(memoria2); (8) } I- Se as linhas 6 e 7, do código-fonte que executa a classe Memoria, forem invertidas, a ordem dos resultados apresentados na saída permanecem inalterados. II- Apesar das linhas 3 e 4, do código-fonte que executa a classe Memoria, produzirem os mesmos resultados, os objetos memoria1 e memoria2 são diferentes. III- Se as linhas 3 e 4, do código-fonte que executa a classe Memoria, forem invertidas, a ordem dos resultados apresentados na saída são alterados. IV- Se as linhas 6 e 7, do código-fonte que executa a classe Memoria, forem invertidas, a ordem dos resultados apresentados na saída são alterados. Assinale a alternativa CORRETA: A As sentenças III e IV estão corretas 6 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 5/7 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 III estão corretas. A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e pode, quando bemmodelada e utilizada, diminuir o esforço na manutenção do código-fonte. Considerando o relacionamento de herança entre duas ou mais classes, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A herança possibilita o compartilhamento de atributos entre uma superclasse subclasse, limitando esse compartilhamento para os atributos indicados com o modificador "private". ( ) A palavra-chave extends define que uma classe está estendendo outra, que em outras palavras significa o uso de herança na linguagem de programação Java. ( ) A herança possibilita o compartilhamento de métodos entre uma superclasse subclasse, limitando esse compartilhamento para alguns tipos especiais de métodos. ( ) A herança de métodos é possível, porém os métodos construtores podem ser reescritos através do polimorfismo. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. B V - F - F - V. C F - V - F - F. D V - 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 II está correta. 7 8 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 6/7 C As sentenças II e III estão corretas. D Somente a sentença IV está correta. Dentro da Orientação a Objetos, o conceito de classe e objeto é fundamental, sendo indispensável sua compreensão para que possamos fazer programas consistentes usando este tipo de tecnologia. Sobre as as alternativas que referem-se a classes, assinale a alternativa INCORRETA: A Fornecedor. B Produto. C Cliente. D Arroz tio joão. Os padrões de projeto auxiliam o desenvolvimento de software orientado a objetos, solucionando problemas rotineiros que normalmente ocorrem durante as etapas desse desenvolvimento. Dentre os padrões, pode-se citar o Singleton, que descreve uma implementação na qual uma classe é instanciada uma única vez durante a execução de uma aplicação. Sendo assim, analise as sentenças referentes ao código-fonte que implementa um exemplo da aplicação Singleton para a classe Conexao e assinale a alternativa CORRETA: (1) public class Conexao{ (2) private static Conexao instancia; (3) private int numeroConexoes; (4) (5) private Conexao(){ (6) } (7) (8) public static Conexao getInstance() { (9) if(instancia == null) { (10) instancia = new Conexao(); (11) } (12) return instancia; (13) } (14) (15) public int getNumeroConexoes() { (16) return this.numeroConexoes; (17) } (18) (19) public void setNumeroConexoes(int numeroConexoes) { (20) this.numeroConexoes = numeroConexoes; (21) } (22)} A As linhas 5 até 7 do código-fonte da classe "Conexao" apresenta uma implementação opcional do método que permite a instanciação da classe Conexao. B As linhas 19 até 21 do código-fonte da classe "Conexao" podem ser substituídas pelas linhas 5 até 7 para permitir que uma instância da classe Conexao seja criada, possibilitando o acesso, por 9 10 28/06/22, 19:18 Avaliação Final (Objetiva) - Individual 7/7 7 pa a pe t que u a stâ c a da c asse Co e ao seja c ada, poss b ta do o acesso, po qualquer outra classe, aos métodos get e set implementados. C As linhas 19 até 21 do código-fonte da classe "Conexao" apresenta a implementação do método que instancia a classe quantas vezes forem necessárias. D As linhas 5 e 6 do código-fonte representam um mecanismo de segurança, construtor privado, que impede qualquer outra classe externa de criar uma instância da classe Conexao. Imprimir
Compartilhar