Prévia do material em texto
Material de Estudo de Programação Orientada a Objetos - 11 1. Qual dos seguintes princípios da Programação Orientada a Objetos (POO) se refere à capacidade de um objeto de assumir diferentes formas? a) Encapsulamento. b) Herança. c) Polimorfismo. d) Abstração. e) Modularização. Resposta: c) Justificativa: Polimorfismo, que significa "muitas formas", é a capacidade de objetos de diferentes classes responderem ao mesmo método de maneiras distintas. Isso permite escrever código mais genérico e flexível. 2. Qual o mecanismo da POO que permite que uma classe herde atributos e métodos de uma classe pai (superclasse)? a) Instanciação. b) Encapsulamento. c) Polimorfismo. d) Herança. e) Abstração. Resposta: d) Justificativa: A herança é um mecanismo fundamental da POO que permite criar novas classes (subclasses ou classes filhas) baseadas em classes existentes (superclasses ou classes pais). A subclasse herda os atributos e métodos da superclasse, podendo adicionar novos ou modificar os herdados. 3. Ocultar os detalhes de implementação de um objeto e expor apenas uma interface para interagir com ele é conhecido como: a) Herança. b) Polimorfismo. c) Encapsulamento. d) Delegação. e) Composição. Resposta: c) Justificativa: Encapsulamento é o princípio da POO que consiste em agrupar os dados (atributos) e os métodos que operam sobre esses dados dentro de uma unidade (classe), controlando o acesso aos dados e protegendo a integridade do objeto, expondo apenas uma interface bem definida para interação. 4. Qual a principal finalidade de um construtor em uma classe orientada a objetos? a) Definir os métodos que o objeto pode executar. b) Declarar os atributos (variáveis de instância) do objeto. c) Inicializar o estado de um novo objeto da classe. d) Destruir um objeto quando ele não é mais necessário. e) Definir a interface pública da classe. Resposta: c) Justificativa: Um construtor é um método especial de uma classe que é automaticamente chamado quando um novo objeto dessa classe é criado (instanciado). Sua principal finalidade é inicializar os atributos do objeto com valores iniciais apropriados, configurando o estado inicial do objeto. 5. Qual dos seguintes conceitos está relacionado à definição de uma interface comum para diferentes classes, permitindo que objetos de classes distintas sejam tratados de forma uniforme? a) Acoplamento forte. b) Coesão alta. c) Polimorfismo. d) Herança múltipla. e) Sobrecarga de operadores. Resposta: c) Justificativa: O polimorfismo permite que objetos de diferentes classes que implementam a mesma interface (ou herdam de uma mesma superclasse) sejam tratados de forma uniforme através de referências do tipo da interface ou superclasse. A chamada a um método polimórfico resultará na execução da implementação específica daquele método na classe do objeto em tempo de execução. 6. Qual a diferença fundamental entre herança e composição em POO? a) Herança cria uma relação "tem um", enquanto composição cria uma relação "é um". b) Herança permite reutilizar código, enquanto composição não. c) Herança estabelece um forte acoplamento entre as classes, enquanto composição geralmente leva a um acoplamento mais fraco. d) Composição é utilizada para criar hierarquias de classes, enquanto herança não. e) Herança permite o polimorfismo, enquanto composição não. Resposta: c) Justificativa: A herança estabelece uma relação "é um" (uma subclasse é um tipo de superclasse), e pode levar a um acoplamento forte entre as classes pai e filho. A composição estabelece uma relação "tem um" (uma classe tem um objeto de outra classe como um de seus atributos), e geralmente promove um acoplamento mais fraco, pois as classes compostas dependem menos da implementação interna das classes que compõem.