Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objetos - 2021 Avaliação On-Line 3 (AOL 3) - Questionário 1. Pergunta 1 /1 Leia o trecho a seguir: “Uma interface é parecida com uma classe; porém, em uma interface, todos os métodos são públicos e abstratos, e todos os atributos são públicos, estáticos e constantes.”Complementando o trecho apresentado, como os métodos são públicos e abstratos e os atributos são sempre estáticos e constantes, essas informações não precisam ser declaradas.Fonte: CARVALHO, V. A.; TEIXEIRA, G. F. Programação orientada a objetos. Colatina: Ifes, 2012. p. 69. Disponível em: https://bit.ly/3fvV7Km. Acesso em: 28 mar. 2020. Considerando essas informações e o conteúdo estudado sobre classes abstratas e interfaces, analise as asserções a seguir e a relação proposta entre elas: I. Interfaces, assim como as classes, não possibilitam herança múltipla entre elas, mas permitem que sejam implementadas quantas interfaces forem necessárias. Porque: II. A interface não possui construtor e não pode ser instanciada. A seguir, assinale a alternativa correta: Ocultar opções de resposta 1. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. 2. As asserções I e II são proposições falsas. 3. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 4. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Resposta correta 5. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 2. Pergunta 2 /1 O uso da herança aplica-se quando há mais de uma classe com os mesmos atributos e, de certa forma, com os mesmos comportamentos. A classe que possuirá atributos e métodos (ou assinaturas de métodos) comuns às outras classes é denominada superclasse. Considerando essas informações e o conteúdo estudado sobre herança, pode-se afirmar que: Ocultar opções de resposta 1. a subclasse, desde que não abstrata, que implementa uma superclasse abstrata deverá implementar as assinaturas de métodos contidas nela. Resposta correta 2. a superclasse deverá conter métodos únicos, sendo a superclasse mais especializada e a subclasse mais genérica. 3. a superclasse deverá ter métodos declarados com annotation @Override, tornando assim necessária a implementação dos métodos na subclasse. 4. a classe abstrata poderá ter assinaturas de métodos que sejam abstratos e estáticos, devendo ser implementados na subclasse. 5. os atributos existentes na superclasse precisam ser inicializados, já que eles são sempre static e final. 3. Pergunta 3 /1 Existem duas maneiras de utilizar métodos de superclasses que não foram declaradas como private. No primeiro, se a superclasse possuir um método que faça exatamente o que a subclasse precisa, então instâncias da subclasse podem executar os métodos como se fossem delas mesmas, não sendo necessária a sobrescrita. A outra maneira é implementar métodos na subclasse e, a partir deles, chamar os métodos da superclasse para que realizem parte da tarefa necessária, sem precisar duplicar trechos de código. Considerando essas informações e o conteúdo estudado sobre herança, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s): I. ( ) Para executar um método da superclasse, pode-se fazer uso da palavra-chave “super” seguida de ponto e o nome do método com seus argumentos, se tiver. II. ( ) Se a superclasse tiver um método que não exista na subclasse, da subclasse podemos chamar o método da superclasse fazendo uso da palavra-chave “this”. III. ( ) Se a superclasse e a subclasse tiverem métodos com a mesma assinatura e não for feito o uso da palavra-chave “this”, o método a ser executado será o da superclasse. IV. ( ) O método da superclasse sempre será executado primeiro, pois em Java há um sistema de procura de métodos e atributos que começa pela superclasse e, se não encontrar resultados, vai para a subclasse. Agora, assinale a alternativa que apresenta a sequência correta: Ocultar opções de resposta 1. F, V, F, V. 2. V, F, F, V. 3. V, F, V, F. 4. F, F, V, V. 5. V, V, F, F. Resposta correta 4. Pergunta 4 /1 Leia o trecho a seguir: “Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estruturas e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela.”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. Campinas: Unicamp, 2001. p. 6. Disponível em: https://bit.ly/2MWV3qN. Acesso em: 7 jun. 2020. Considerando essas informações e o conteúdo estudado sobre herança, analise as afirmativas a seguir: I. Uma classe declarada como final não pode ser herdada. II. Uma classe abstrata não pode ser instanciada. III. A classe herdeira deve possuir a palavra-chave “implements”. IV. Qualquer classe pode ser herdada. Está correto apenas o que se afirma em: Ocultar opções de resposta 1. I e IV. 2. II e III. 3. II e IV. 4. III e IV. 5. I e II. Resposta correta 5. Pergunta 5 /1 Leia o trecho a seguir: “[…] uma interface é uma coleção de declarações de métodos sem dados (sem atributos) e sem corpo. Ou seja, os métodos de uma interface são sempre vazios – são simples assinaturas de métodos. Desta forma, pode-se considerar que uma interface é um contrato entre a classe (que a implementa) […]”.Fonte: BEDER, D. M. Introdução à programação orientada a objetos em Java. São Carlos: UFSCar, 2014. p. 37. Disponível em: https://bit.ly/30MkFyB. Acesso em: 14 abr. 2020. Considerando essas informações e o conteúdo estudado sobre interfaces, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s): I. ( ) Ao implementar uma interface, a classe deve implementar as assinaturas de métodos existentes na interface. II. ( ) Uma classe pode implementar quantas interfaces forem necessárias, isso é algo ilimitado. III. ( ) Uma interface pode estender inúmeras outras interfaces, sendo essa a única forma de herança múltipla em Java. IV. ( ) Uma interface pode ser instanciada da mesma forma que uma classe abstrata. Agora, assinale a alternativa que apresenta a sequência correta: Ocultar opções de resposta 1. V, F, F, V. 2. F, F, V, V. 3. F, V, F, V. 4. V, V, V, F. Resposta correta 5. V, F, V, F. 6. Pergunta 6 /1 A subclasse herda atributos e métodos da superclasse e, com isso, esta última precisa ser sempre mais genérica que a subclasse, contendo atributos e métodos que sejam comuns a outras classes que a herdem. Consequentemente, a subclasse deve ser mais especializada, contendo atributos e métodos mais específicos. Considerando essas informações e o conteúdo estudado sobre herança, pode ser afirmar que: Ocultar opções de resposta 1. uma superclasse declarada como abstrata deverá ter métodos também abstratos. 2. a subclasse deverá sobrescrever todos os métodos da superclasse usando a annotation @Override. 3. atributos e métodos com modificador de acesso private não poderão ser acessados diretamente pela subclasse. Resposta correta 4. métodos com assinaturas idênticas contidos na superclasse são automaticamente sobrescritos na subclasse. 5. uma classe declarada como final não precisa ser instanciada para acessar seus métodos e atributos públicos. 7. Pergunta 7 /1 Leia o trecho a seguir: “Agregação é um relacionamento do tipo todo/parte. Esse relacionamento é uma especialização da associação e define normalmente uma associação cuja classe contida normalmente é a parte de um todo, ou seja, normalmente a classe que contém é um grupo de objetos da outra. Vale lembrar também que um objetoda classe parte integrante pode existir sem o todo sendo que este último apenas agrega as partes já existentes.”Fonte: MATTOS, E. C. T Programação de softwares em Java: desvende os recursos desta poderosa linguagem. São Paulo: Digerati Books, 2007. p. 102. Considerando essas informações e o conteúdo estudado sobre relacionamento entre classes, analise as asserções a seguir e a relação proposta entre elas: I. A agregação é um tipo de relacionamento menos intenso, no qual pode haver independência entre as classes, existindo apenas exclusividade entre elas. Porque: II. Um objeto “parte” pode existir sem a existência do objeto “todo”, e o objeto “parte” será exclusivo de um objeto “todo”. A seguir, assinale a alternativa correta: Ocultar opções de resposta 1. As asserções I e II são proposições falsas. 2. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 3. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 4. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 5. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta correta 8. Pergunta 8 /1 É recomendável, mas não obrigatório, que toda classe com o objetivo de servir apenas como superclasse seja declarada com modificador abstract, o qual impede que ela seja instanciada. Além disso, esse recurso possibilita que a classe crie assinaturas de métodos que podem ser declarados como abstratos. Considerando essas informações e o conteúdo estudado sobre herança, criação e uso de hierarquia, e classes abstratas e interfaces, analise as afirmações a seguir: I. Toda assinatura de método abstrato deve ser implementada pela próxima classe mais especializada da hierarquia e que não seja abstrata. II. Assinaturas de métodos não abstratos, declarados em uma classe abstrata, também precisam ser implementadas pela subclasse. III. Toda assinatura de método abstrato não possui chaves e é finalizada com ponto e vírgula. IV. Assim como os métodos, o construtor de uma classe abstrata pode ser também abstrato. Está correto apenas o que se afirma em: Ocultar opções de resposta 1. II e III. 2. II e IV. 3. I e III. Resposta correta 4. I e II. 5. I e IV. 9. Pergunta 9 /1 Criar uma superclasse abstrata que tenha todos os campos e métodos comuns às subclasses é importante, mas, em alguns casos, os métodos existentes podem não executar a tarefa ideal para aquele caso – então, a subclasse deverá sobrescrever o método. Nesse sentido, o interessante é declarar apenas uma assinatura de método estático, e não o implementar. Um exemplo para esse cenário seria ter uma superclasse animal e nela existir um método denominado emitir som, porém cada animal, que seria uma subclasse, emitiria um som diferente e o método não funcionaria da mesma forma para todos. Considerando essas informações e o conteúdo estudado sobre classes abstratas, analise as asserções a seguir e a relação proposta entre elas: I. Quando criados métodos genéricos em uma superclasse abstrata, é interessante que eles atendam exatamente ao que as subclasses precisam, caso contrário, os métodos deverão ser declarados apenas como abstratos. Porque: II. Pode-se dizer que a classe abstrata funcionaria como um guia, contendo apenas o que deve ser feito pela subclasse, mas sem a necessidade de dizer como deverá ser feito. A seguir, assinale a alternativa correta: Ocultar opções de resposta 1. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta correta 2. As asserções I e II são proposições falsas. 3. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 4. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 5. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 10. Pergunta 10 /1 Para uma subclasse herdar uma superclasse, ela deve estender essa superclasse por meio do uso da palavra- chave “extends”, que deverá ser declarada após o nome da subclasse e seguida do nome da superclasse. Consequentemente, essa subclasse conterá todos os atributos e métodos existentes na superclasse. Considerando essas informações e o conteúdo estudado sobre herança e criação e uso de hierarquia, pode- se afirmar que: Ocultar opções de resposta 1. se a superclasse contiver um método public qualquer e na subclasse não fizer uso da palavra-chave “super”, ocorrerá erro de compilação. 2. para acessar atributos e métodos da superclasse, inclusive o construtor, deve-se fazer uso palavra- chave “super”. 3. em uma hierarquia entre ClasseA que estende a ClasseB, que por vez estende a ClasseC, a ClasseA pode chamar o construtor da ClasseC. 4. o construtor padrão da superclasse é executado automaticamente quando a subclasse é instanciada, mesmo que não declarado explicitamente. Resposta correta 5. o construtor padrão da superclasse só é executado se for declarado explicitamente no construtor da subclasse e é o primeiro a ser executado.
Compartilhar