Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/06/2022 19:31 Avaliação II - Individual 1/5 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:739605) Peso da Avaliação 1,50 Prova 48586848 Qtd. de Questões 10 Acertos/Erros 7/3 Nota 7,00 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". Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B V - V - V - F. C V - V - F - V. VOLTAR A+ Alterar modo de visualização 1 28/06/2022 19:31 Avaliação II - Individual 2/5 D F - V - F - F. Através do encapsulamento, é possível deixar o software mais manutenível, através da centralização de responsabilidades, ocultação de implementação e exposição de interfaces. Com relação ao encapsulamento e sua implementação na linguagem de programação Java, analise as sentenças a seguir: I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento. II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação. III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte. IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso protected. Agora, assinale a alternativa CORRETA: A As sentenças III e IV estão corretas. B Somente a sentença II está correta. C As sentenças I e III estão corretas. D Somente a sentença IV está correta. Os modificadores de acesso são palavras reservadas da linguagem de programação Java e definem os padrões de visibilidade de acesso às classes, aos atributos e aos métodos. Por intermédio dos modificadores de acesso, é possível ocultar determinadas partes do código, dividindo o programa em partes menores e independentes e esta ação, de ocultar e/ou dividir, é conhecida como encapsulamento Acerca do conceito de encapsulamento e dos modificadores de acesso da linguagem de programação Java, analise as afirmativas a seguir: I- Uma declaração com o modificador "public" permite o acesso de qualquer lugar do projeto Java e por qualquer entidade que possa visualizar a classe a que ela pertença. II- Os membros de uma classe declarados com o modificador "protected" não podem ser acessados ou utilizados por nenhuma outra classe. III- Métodos declarados como "default" só podem ser acessados a partir dos métodos da própria classe. IV- O Java define quatro modificadores de visibilidade: "private", "public", "protected" e "default". Agora, assinale a alternativa CORRETA: A As afirmativas II e III estão corretas. B As afirmativas II, III e IV estão corretas. C As afirmativas I e IV estão corretas. D Somente a afirmativa I está correta. 2 3 28/06/2022 19:31 Avaliação II - Individual 3/5 Quanto maior o acoplamento entre duas classes, maior o grau de relacionamento entre estas, o que é contrário aos princípios do encapsulamento. Assinale a alternativa CORRETA que explique um malefício causado pelo alto acoplamento: A Em uma situação na qual duas classes são fortemente acopladas, a comunicação entre estas torna-se mais difícil. B Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte. C Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa. D O alto acoplamento impede que os objetos se comuniquem livremente através de mensagens, deixando o sistema pouco flexível. 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. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - V - V. B F - V - F - F. C V - V - F - F. D V - F - F - V. 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. 4 5 6 28/06/2022 19:31 Avaliação II - Individual 4/5 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. 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. 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 não apresenta nenhum problema de sintaxe. 7 8 28/06/2022 19:31 Avaliação II - Individual 5/5 II- O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave "abstract", antes da palavra chave "void", resolverá o erro gerado. III- O método "competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave "abstract", antes da palavra-chave "void". IV- O método "competir(String modalidade)" gera erro desintaxe. 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 II e III estão corretas. D As sentenças II e IV estão corretas. Na linguagem de programação Java, uma boa prática de desenvolvimento de software é programar orientado a objetos, embora a linguagem permita a programação procedural. No paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA: A O modificador public para uma classe fornece visibilidade desta classe em todas as demais classes da aplicação. B O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote. C O modificador default fornece visibilidade dentro da própria classe. D O modificador private fornece acesso a todas as classes da aplicação. 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. 9 10 Imprimir
Compartilhar