Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação On-Line 3 (AOL 3) – POO 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 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: 1. V, V, V, F. 2. F, V, V, V.Resposta correta 3. V, V, F, F. 4. F, F, F, V. 5. F, F, V, V. 2. Pergunta 2 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 objeto da 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: 1. As asserções I e II são proposições falsas. 2. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 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, e a II é uma justificativa correta da I.Resposta correta 5. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 3. Pergunta 3 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: 1. os atributos existentes na superclasse precisam ser inicializados, já que eles são sempre static e final. 2. a superclasse deverá ter métodos declarados com annotation @Override, tornando assim necessária a implementação dos métodos na subclasse. 3. a classe abstrata poderá ter assinaturas de métodos que sejam abstratos e estáticos, devendo ser implementados na subclasse. 4. a subclasse, desde que não abstrata, que implementa uma superclasse abstrata deverá implementar as assinaturas de métodos contidas nela.Resposta correta 5. a superclasse deverá conter métodos únicos, sendo a superclasse mais especializada e a subclasse mais genérica. 4. Pergunta 4 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: 1. métodos com assinaturas idênticas contidos na superclasse são automaticamente sobrescritos na subclasse. 2. uma classe declarada como final não precisa ser instanciada para acessar seus métodos e atributos públicos. 3. uma superclasse declarada como abstrata deverá ter métodos também abstratos. 4. a subclasse deverá sobrescrever todos os métodos da superclasse usando a annotation @Override. 5. atributos e métodos com modificador de acesso private não poderão ser acessados diretamente pela subclasse.Resposta correta 5. Pergunta 5 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: 1. para acessar atributos e métodos da superclasse, inclusive o construtor, deve-se fazer uso palavra-chave “super”. 2. o construtor padrão da superclasse é executado automaticamente quando a subclasse é instanciada, mesmo que não declarado explicitamente.Resposta correta 3. o construtor padrão da superclasse só é executado se for declarado explicitamente no construtor da subclasse e é o primeiro a ser executado. 4. 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. 5. em uma hierarquia entre ClasseA que estende a ClasseB, que por vez estende a ClasseC, a ClasseA pode chamar o construtor da ClasseC. 6. Pergunta 6 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: 1. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.Resposta correta 2. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 3. As asserções I e II são proposições falsas. 4. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. 5. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 7. Pergunta 7 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: 1. interfaces possuem atributos que podem ser declarados como sendo private, e a classe que as implementar deverá gerar os métodos getters e setters. 2. as interfaces possuem apenas assinaturas de métodos que implicitamente são public e abstract, e seus atributos são sempre static e final.Resposta correta 3. Assinaturas de métodos contidos em uma interface tornam obrigatória a implementação até mesmo por classes abstratasque as implementam. 4. as interfaces possuem apenas assinaturas de métodos que, se não declarado modificador de acesso, serão default. 5. atributos e métodos da interface podem ser declarados com modificador de acesso diferente do public. 8. Pergunta 8 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: 1. I e IV. 2. II e III. 3. II e IV. 4. III e IV. 5. I e II.Resposta correta 9. Pergunta 9 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: 1. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.Resposta correta 2. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 3. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 4. As asserções I e II são proposições falsas. 5. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 10. Pergunta 10 Considerando a classe Veículo como uma superclasse declarada como abstrata e a classe Utilitário como sendo a subclasse não abstrata, a superclasse implementa a interface Motor, que possui a assinatura de método “acelerar”. Considerando essas informações e o conteúdo estudado sobre relacionamento entre classes, pode-se afirmar que: 1. se implementada a assinatura do método na superclasse, a subclasse também precisará implementá-la. 2. a implementação da assinatura é opcional para a subclasse e obrigatória na superclasse. 3. a subclasse deverá implementar a assinatura do método existente na interface.Resposta correta 4. a superclasse deverá implementar a assinatura do método existente na interface. 5. a implementação da assinatura do método existente na interface é opcional na subclasse.
Compartilhar