Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/12/2023, 21:08 Avaliação II - Individual about:blank 1/6 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:885277) Peso da Avaliação 1,50 Prova 74341207 Qtd. de Questões 10 Acertos/Erros 9/0 Canceladas 1 Nota 10,00 Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. ( ) A implementação de herança múltipla em Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. B V - F - F - V. C F - V - F - V. D V - V - V - F. 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 As afirmativas I e IV estão corretas. VOLTAR A+ Alterar modo de visualização 1 2 04/12/2023, 21:08 Avaliação II - Individual about:blank 2/6 C Somente a afirmativa I está correta. D As afirmativas II e IV estão corretas. A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRETA: A Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui. B Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private. C A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe. D Uma classe coesa é, necessariamente, uma classe com alto acoplamento. A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA: A O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected". B O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte. C O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse. D O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte. Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. 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) { 3 4 5 04/12/2023, 21:08 Avaliação II - Individual about:blank 3/6 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 não apresenta nenhum problema de sintaxe. II- O método competirPor(int pais) não está gerando nenhum erro de sintaxe e está usando corretamente a palavra-chave void. III- O método competirPor(int pais) gera erros de sintaxe, logo 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 I e II estão corretas. B As sentenças III e IV estão corretas. C As sentenças II e IV estão corretas. D As sentenças II e III estão corretas. 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 O modificador private permite o acesso somente dentro do mesmo pacote. C Um método com o modificador public não faz sentido em uma classe com o modificador default. D O modificador public não pode ser usado na frente de atributos. De acordo com o paradigma da programação orientada a objetos, o relacionamento de herança difere-se do relacionamento de associação especialmente pela definição dos tipos envolvidos. Considerando a figura a seguir, classifique V para as sentenças verdadeiras e F para falsas: ( ) O relacionamento mais adequado entre Personagem e Gladiador é o de herança. ( ) Um Personagem tem uma arma, o que caracterizaria um relacionamento de associação. ( ) Se Personagem está associado a uma arma e Gladiador é subclasse de Soldado, necessariamente Gladiador tem uma arma. ( ) O relacionamento mais adequado entre Gladiador e Soldado é o de associação. 6 7 04/12/2023, 21:08 Avaliação II - Individual about:blank 4/6 Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - V - V. B F - V - F - F. C V - F - F - V. D V - V - F - F. Uma das principais vantagens em se desenvolver um software utilizando o paradigma da orientação a objetos, é a reutilização de código-fonte, tornando-o mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de criar uma coluna em uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção de registro nesta tabela, e o software está alterado, mesmo que o método seja invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) Devido à herança, a linha 31 está correta. ( ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo". ( ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro". ( ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos e métodos da classe "Veiculo". 8 04/12/2023, 21:08 Avaliação II - Individual about:blank 5/6 Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B F - V - F - F. C V - V - F - V. D V - V - V - F. Uma das principais características da orientação a objetos é a possibilidade de ocultar partes do código de um objeto, chamada de encapsulamento. Com o encapsulamento, cada parte do código-fonteé menor e independente de outras partes, isto é, cada método é específico, realizando uma única operação, tornando o código-fonte mais reutilizável e legível. Com relação ao encapsulamento, assinale a alternativa CORRETA: A Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento. B O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto indevidamente. C A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os métodos chamadores. D O encapsulamento permite a instância de uma classe em memória. 9 04/12/2023, 21:08 Avaliação II - Individual about:blank 6/6 Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento. Com estes modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma classe X por uma classe Y. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) O método "getCodigo()"da classe "Carro" é visível em todas as classes do pacote. ( ) O método "getCodigo()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getValor()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getModelo()"da classe "Carro" é visível somente dentro da própria classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: A V - V - V - F. B F - V - F - F. C F - F - V - V. D V - V - F - F. 10 Imprimir
Compartilhar