Prévia do material em texto
Conteúdo do exercício Ocultar opções de resposta Pergunta 1 -- /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: Resposta corretaI e III. II e IV. II e III. I e IV. I e II. Pergunta 2 -- /1 Ocultar opções de resposta Ocultar opções de resposta Uma interface se comporta de forma similar a uma classe abstrata. Em comum, elas não podem ser instanciadas e a declaração de assinaturas de métodos deve ser implementada pelas classes que estendem a classe abstrata ou implementa a interface, desde que estas não sejam abstratas. 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. Uma das diferenças entre a classe abstrata e a interface é que a classe abstrata pode possuir atributos passíveis de serem modificados, e a interface só pode ter constantes, que são imutáveis durante a execução da aplicação. Porque: II. Todos os atributos da interface são sempre public e final, mesmo que implicitamente; sendo final, são imutáveis, ou seja, constantes. A seguir, assinale a alternativa correta: Resposta correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. As asserções I e II são proposições falsas. Pergunta 3 -- /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 em uma hierarquia entre ClasseA que estende a ClasseB, que por vez estende a ClasseC, a ClasseA pode chamar o construtor da ClasseC. 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. o construtor padrão da superclasse só é executado se for declarado explicitamente no construtor da subclasse e é o primeiro a ser executado. para acessar atributos e métodos da superclasse, inclusive o construtor, deve-se fazer uso palavra- chave “super”. Resposta correta o construtor padrão da superclasse é executado automaticamente quando a subclasse é instanciada, mesmo que não declarado explicitamente. Pergunta 4 -- /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: a superclasse deverá conter métodos únicos, sendo a superclasse mais especializada e a subclasse mais genérica. a superclasse deverá ter métodos declarados com annotation @Override, tornando assim necessária a implementação dos métodos na subclasse. Resposta correta a subclasse, desde que não abstrata, que implementa uma superclasse abstrata deverá implementar as assinaturas de métodos contidas nela. os atributos existentes na superclasse precisam ser inicializados, já que eles são sempre static e final. a classe abstrata poderá ter assinaturas de métodos que sejam abstratos e estáticos, devendo ser implementados na subclasse. Ocultar opções de resposta Pergunta 5 -- /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: F, F, V, V. V, F, V, F. F, V, F, V. Resposta corretaV, V, F, F. V, F, F, V. Pergunta 6 -- /1 Leia o trecho a seguir: Ocultar opções de resposta Ocultar opções de resposta “O mecanismo de herança permite construir uma hierarquia Generalização/Especialização de classes baseadas no relacionamento ‘é um’, em que as classes mais genéricas se encontram nos níveis mais altos da hierarquia, enquanto as classes mais especializadas se encontram nos níveis mais baixos.”Fonte: BEDER, D. M. Introdução à programação orientada a objetos em Java. São Carlos: UFSCar, 2014. p. 35. Disponível em: https://bit.ly/30MkFyB. Acesso em: 14 abr. 2020. Considerando essas informações e o conteúdo estudado sobre herança e criação e uso da hierarquia, pode-se afirmar que: a classe mais especializada é a classe Object, e as demais classes sempre herdarão os métodos contidos na Object. classes genéricas devem ser declaradas com modificador de acesso public e modificador final. a classe mais especializada, que se encontra no nível mais baixo, terá apenas métodos e atributos da superclasse que está herdando. Resposta correta a classe mais genérica existente na hierarquia de classes é a Object, sendo esta o topo da hierarquia. classes genéricas devem ser declaradas com modificador de acesso public e modificador static. Pergunta 7 -- /1 Leia o trecho a seguir: “Java também oferece outra estrutura, denominada interface, com sintaxe similar à de classes, mas contendo apenas a especificação da funcionalidade que uma classe deve conter, sem determinar como estas funcionalidades devem ser implementadas.”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. Campinas: Unicamp, 2001. p. 28. Disponível em: https://bit.ly/2MWV3qN. Acesso em: 7 jun. 2020. Considerando essas informações e o conteúdo estudado sobre classes abstratas e interfaces, pode-se afirmar que: interfaces possuem atributos que podem ser declaradoscomo sendo private, e a classe que as implementar deverá gerar os métodos getters e setters. Resposta correta as interfaces possuem apenas assinaturas de métodos que implicitamente são public e abstract, e seus atributos são sempre static e final. Ocultar opções de resposta p , p Assinaturas de métodos contidos em uma interface tornam obrigatória a implementação até mesmo por classes abstratas que as implementam. atributos e métodos da interface podem ser declarados com modificador de acesso diferente do public. as interfaces possuem apenas assinaturas de métodos que, se não declarado modificador de acesso, serão default. Pergunta 8 -- /1 Os relacionamentos feitos por composição apenas se caracterizam diante do cenário em que a existência de um objeto só faz sentido se o outro objeto existir. Esses casos configuram um relacionamento que possui características “todo-parte”. 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. Um exemplo de relacionamento de composição é o que ocorre entre o pedido e seu item, no qual o item só faz sentido com a existência do pedido. Porque: II. O pedido é o objeto “parte” e o item do pedido é o objeto “todo”. A seguir, assinale a alternativa correta: As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta corretaA asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Pergunta 9 -- /1 Ocultar opções de resposta 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: Resposta correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. As asserções I e II são proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Pergunta 10 -- /1 Leia o trecho a seguir: “[…] os construtores das subclasses se utilizam dos construtores da superclasse. Assim, mesmo não podendo ser instanciadas, é comum classes abstratas terem construtores que inicializam seus próprios atributos e são utilizados pelas subclasses. Mas vale ressaltar que, assim como em qualquer outra classe, não é obrigatório Ocultar opções de resposta definir construtores para as classes abstratas.”Fonte: CARVALHO, V. A.; TEIXEIRA, G. F. Programação orientada a objetos. Colatina: Ifes, 2012. p. 71. 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 afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s): I. ( ) A declaração do construtor de uma classe abstrata deve possuir o modificador abstract antes do início da declaração. II. ( ) Para acessar o construtor da classe abstrata, deve-se fazer uso da palavra-chave “super”. III. ( ) Assinaturas de métodos declarados como abstract devem ser implementadas na subclasse, desde que ela não seja abstract. IV. ( ) Assinaturas de métodos declarados como abstract não possuem escopo, ou seja, não possuem chaves e são finalizados com ponto e vírgula. Agora, assinale a alternativa que apresenta a sequência correta: V, V, V, F. Resposta corretaF, V, V, V. V, V, F, F. F, F, F, V. F, F, V, V.