Prévia do material em texto
Atividade 3 Entrega 6 jun em 23:59 Pontos 1 Perguntas 5 Disponível 17 fev em 23:59 - 6 jun em 23:59 Limite de tempo Nenhum Tentativas permitidas 2 Instruções Este teste foi travado 6 jun em 23:59. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 19 minutos 0,8 de 1 Pontuação desta tentativa: 0,8 de 1 Enviado 2 jun em 10:02 Esta tentativa levou 19 minutos. Pergunta 1 0,2 / 0,2 pts Métodos da classe A possuem acesso a todos os atributos da classe B. Objetos da classe A possuem todos os atributos e métodos da classe B, podendo possuir também outros métodos e atributos. Métodos da classe B com o mesmo nome de métodos da classe A serão idênticos aos da classe A. Correto! Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. Analise os trechos de código abaixo: O que podemos afirmar sobre a relação entre as classes A e B? 11/06/25, 08:48 Atividade 3: NATALIE BIANCHI CORRADINI (Ela/a) https://famonline.instructure.com/courses/44695/assignments/283878/submissions/131295 1/5 https://famonline.instructure.com/courses/44695/quizzes/214181/history?version=1 Objetos da classe B possuem todos os atributos e métodos da classe A, podendo possuir também outros métodos e atributos. Alternativa correta. A classe B é herdeira de classe A. Com isso, todos os atributos e métodos de A automaticamente passam a existir para B. O oposto não necessariamente ocorre: a classe B pode implementar novos atributos e métodos, e eles não existirão para A. Além disso, a classe B pode sobrepor os métodos da classe B, ou seja, reescrever a funcionalidade de um método mantendo o mesmo nome. Por fim, o acesso de uma classe aos atributos da outra depende dos modificadores de acesso utilizados: a classe A só terá acesso a atributos públicos da classe B. A classe B, por ser herdeira de A, terá acesso a seus atributos públicos e também aos protegidos, mas não aos privados (mesmo possuindo esses atributos por herança). Métodos da classe B possuem acesso a todos os atributos da classe A. Pergunta 2 0,2 / 0,2 pts A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de abstração. A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de acoplamento. Correto! A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de herança. A alternativa está correta. A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de herança. A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de encapsulamento. A classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de polimorfismo. Pergunta 3 0,2 / 0,2 pts Leia o texto a seguir: “Uma classe pode assumir alguns comportamentos. Por exemplo, uma classe pode ser definida a partir de outra classe já existente. Nesse caso a classe definida a partir de uma classe existente é chamada de classe-filho (ou subclasse), enquanto a classe existente é denominada classe-pai. É possível determinar famílias de classes através de um conceito de hierarquia de classes.“ Fonte: MANZANO, J. A. N. G. Java 7: programação de computadores: guia prática de introdução, orientação e desenvolvimento. São Paulo: Érica, 2011. Considerando as informações apresentadas, assinale a opção correta: Ao desenvolver um sistema para controlar hidrômetros e relógios utilizados para registrar o consumo de água, é preciso observar que estes dois instrumentos possuem características e 11/06/25, 08:48 Atividade 3: NATALIE BIANCHI CORRADINI (Ela/a) https://famonline.instructure.com/courses/44695/assignments/283878/submissions/131295 2/5 Composição e agregação. Abstração e composição. Correto! Herança e polimorfismo. A alternativa está correta. Herança e polimorfismo são os conceitos de orientação a objetos implementados pelo desenvolvedor apresentado no texto. Herança é o processo de criação de uma nova classe, estendendo uma classe existente. A classe filha herda seus atributos e métodos e, caso precise especificar seu comportamento, ela pode redefinir um ou mais métodos herdados através do mecanismo de polimorfismo. Herança e visibilidade. Agregação e polimorfismo. Pergunta 4 0,2 / 0,2 pts Na hierarquia de classes, pode-se inferir que a subclasse é uma generalização de superclasse. A herança é implementada quando existe um relacionamento de polimorfismo entre as classes. Correto! A herança permite criar novas classes a partir de classes já existentes, aproveitando-se das características existentes na classe a ser estendida. Alternativa correta. A herança é a criação de uma nova classe, que herda características de uma classe existente. A herança é um princípio da O.O. que permite a economia de tempo durante o desenvolvimento, através da reutilização de estruturas que já foram testadas, depuradas e com alta qualidade, o que aumenta a probabilidade de maior eficiência na sua manutenção. A herança permite que estruturas comuns sejam compartilhadas entre diversos objetos, com redundância e abstração. A herança permite que classes derivadas de uma mesma subclasse podem invocar métodos com identificações diferentes, mas comportamentos iguais. comportamento tanto comuns quanto específicos. Neste contexto, o desenvolvedor utilizou alguns conceitos fundamentais da orientação a objetos referentes à estrutura das classes para reutilização de código e outros relacionados ao chamamento de métodos com mesma assinatura, considerando as especificidades da operação dos hidrômetros. Assinale a alternativa com os conceitos de orientação a objetos implementados pelo desenvolvedor apresentado no texto: O principal objetivo da Orientação a objetos (O.O.) é vincular os dados e as funções que operam neles, de modo que nenhuma outra parte do código possa acessar esses dados, exceto aquela função. A O.O. é regida por princípios ou pilares que revolucionaram o conceito de projeto de software. Um dos conceitos inovadores é o de herança. Considerando essas informações, pode-se afirmar que: 11/06/25, 08:48 Atividade 3: NATALIE BIANCHI CORRADINI (Ela/a) https://famonline.instructure.com/courses/44695/assignments/283878/submissions/131295 3/5 Pergunta 5 0 / 0,2 pts I, II e III, apenas. I, III e IV, apenas. I, II e IV, apenas. Resposta correta II, III e IV, apenas. Você respondeu I, II, III e IV. Alternativa incorreta. Como o texto afirma, o relacionamento “é um” se aplica entre uma subclasse e suas superclasses, e não vice-versa. Portanto, se classe B é herdeira de classe A, um objeto da classe B também é instância da classe A, mas um objeto da classe A não é instância da classe B. A afirmativa I propõe que um objeto da classe A seria instância da classe B, o que está incorreto. A afirmativa II propõe que o objeto da classe B também é instância da classe A, e por isso está correta. A afirmativa III propõe que um objeto da classe B é instância da classe B, o que também está correto. Leia o trecho a seguir: "O operador instanceof determina se um objeto tem o relacionamento é um com um tipo específico (...) O relacionamento é um se aplica apenas entre a subclasse e suas superclasses, não vice- versa.” Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 343. Adaptado. Considerando as informações apresentadas e o operador instanceof, avalie as afirmativas a seguir: I. Seu resultado é verdadeiro quando testamos um objeto de uma certa classe com uma classe derivada de sua classe. II. Seu resultado é verdadeiro quando testamos um objeto de uma certa classe com uma classe da qual a sua deriva.III. Seu resultado é verdadeiro quando testamos um objeto de uma certa classe com a sua própria classe. IV. O uso de instanceof pode constituir uma violação do polimorfismo, por diferenciar objetos de diferentes classes. Estão corretas as alternativas: 11/06/25, 08:48 Atividade 3: NATALIE BIANCHI CORRADINI (Ela/a) https://famonline.instructure.com/courses/44695/assignments/283878/submissions/131295 4/5 A afirmativa IV está correta, pois pelo princípio do polimorfismo, não importa a qual classe específica um objeto pertence. Se ele pertence a qualquer subclasse de uma certa classe, ele pode se comportar de maneira análoga a objetos daquela classe, pois possui todos os métodos disponíveis na classe base. Ao utilizarmos o instanceof, estamos tentando diferenciar objetos derivados de uma mesma classe, portanto violando o polimorfismo. Pontuação do teste: 0,8 de 1 11/06/25, 08:48 Atividade 3: NATALIE BIANCHI CORRADINI (Ela/a) https://famonline.instructure.com/courses/44695/assignments/283878/submissions/131295 5/5