Prévia do material em texto
Prova Impressa GABARITO | Avaliação I - Individual (Cod.:983183) Peso da Avaliação 2,00 Prova 87144353 Qtd. de Questões 10 Acertos/Erros 5/3 Canceladas 2 Nota 7,00 No desenvolvimento de software, coesão e acoplamento são dois princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do software. A coesão refere-se ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou responsabilidade. Por outro lado, o acoplamento mede a dependência entre os módulos ou componentes de um sistema. Um acoplamento baixo é desejável, pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes do sistema. Fonte: Adaptado de: LEITE, T.; CARVALHO, T. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Considerando o texto-base sobre coesão e acoplamento, analise as afirmativas a seguir: I. A coesão e o acoplamento são princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do software. II. A coesão se refere ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou responsabilidade. III. Um acoplamento baixo é desejável, pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes do sistema. IV. Um alto grau de coesão é desejável em sistemas de software, pois facilita a manutenção e evolução do sistema, mantendo as responsabilidades dos módulos bem definidas e agrupadas. É correto o que se afirma em: A I, II, III e IV. B III e IV, apenas. C II e IV, apenas. D I, apenas. E I, II e III, apenas. VOLTAR A+ Alterar modo de visualização 1 Revisar Conteúdo do Livro 15/11/2024, 19:34 Avaliação I - Individual about:blank 1/8 A Programação Orientada a Objetos (POO) é uma abordagem de desenvolvimento de software que modela objetos do mundo real. Ela utiliza conceitos como abstração, que simplifica a complexidade por meio de modelos essenciais; encapsulamento, que oculta detalhes internos; e herança, que permite criar novas classes com base em classes existentes. Além disso, a associação une objetos com interesses comuns. Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Na biblioteca, diversas classes são fundamentais para o adequado gerenciamento de recursos e informações. Entre elas, destacam-se "Livro", "Autor", "Pessoa" e "Funcionário". Um exemplo notável é o autor "Guimarães Rosa", cuja obra "Grande Sertão: Veredas" está disponível para empréstimo. A classe "Livro" possui atributos como "nome", "título", "cargo" e "data de empréstimo", além dos métodos "emprestarLivro()" e "listarAutor()", permitindo uma gestão eficiente das operações de empréstimo e fornecendo informações sobre os autores das obras. Com base no exposto, analise as afirmativas a seguir: I. Pessoa herda característica de Livros. II. A classe Autor é uma associação da classe Livro. III. A classe Livros encapsula os atributos e os métodos. IV. Funcionário e Autor herdam características de Pessoa. É correto o que se afirma em: A II e III, apenas. B II, III e IV, apenas. C I e IV, apenas. D I, II e III, apenas. E III e IV, apenas. O encapsulamento é uma peça fundamental na programação orientada a objetos, sendo vital para assegurar a qualidade e segurança das aplicações. Ele proporciona uma camada de proteção ao ocultar os detalhes internos de uma classe e fornecer uma interface controlada para interações externas. Para manter esse encapsulamento, é crucial evitar o uso excessivo de métodos get/set, optando por estratégias mais robustas como a sobrecarga do construtor e a implementação de métodos de negócio. Além disso, a imutabilidade de classes é essencial, especialmente em ambientes concorrentes, garantindo que o estado de um objeto não seja alterado após sua criação. Essas práticas não apenas promovem um melhor encapsulamento, mas também contribuem significativamente para a segurança e estabilidade das aplicações orientadas a objetos. 2 3 15/11/2024, 19:34 Avaliação I - Individual about:blank 2/8 Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nas informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. Todos os atributos devem ser definidos como privados para garantir o encapsulamento e ocultação da informação. PORQUE II. Os métodos públicos devem definir claramente a API da classe, enquanto os métodos privados devem ser utilizados para organizar a lógica interna da classe. A respeito dessas asserções, assinale a opção correta: A As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. B As asserções I e II são falsas. C A asserção I é uma proposição falsa e a II é uma proposição verdadeira. D A asserção I é uma proposição verdadeira e a II é uma proposição falsa. E As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. Na programação orientada a objetos, os conceitos organizacionais de pacotes e visibilidades desempenham papéis importantes na estruturação e organização do código-fonte. Pacotes: são espaços de nomes que agrupam classes relacionadas. Eles ajudam a organizar e estruturar o código, facilitando a manutenção e promovendo a modularidade. Visibilidades: referem-se aos níveis de acesso que podem ser atribuídos aos membros de uma classe (atributos e métodos). Existem três tipos de visibilidade em Java: pública (public), protegida (protected) e privada (private), que determinam quem pode acessar esses membros a partir de outras classes. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nos conceitos apresentados sobre pacotes e visibilidades na programação orientada a objetos, analise as afirmativas a seguir: I. Pacotes são usados para agrupar classes relacionadas, facilitando a organização e a estruturação do código. II. A visibilidade privada (private) permite o acesso aos membros por subclasses e classes no mesmo Revisar Conteúdo do Livro 4 15/11/2024, 19:34 Avaliação I - Individual about:blank 3/8 pacote, enquanto restringe o acesso fora da classe e de pacotes externos. III. A visibilidade protegida (protected) permite o acesso aos membros apenas dentro da própria classe, impedindo acesso por outras classes, até mesmo as subclasses, garantindo o encapsulamento e a ocultação de detalhes de implementação. IV. A visibilidade pública (public) permite que os membros de uma classe sejam acessados por qualquer outra classe, sem restrições. Isso facilita a reutilização de código e promove a interoperabilidade entre diferentes partes do sistema, tornando-os disponíveis em todo o código- fonte. É correto o que se afirma em: A II, III e IV, apenas. B III e IV, apenas. C I e IV, apenas. D I, II e III, apenas. E II e III, apenas. Na programação orientada a objetos, os princípios de coesão e acoplamento são fundamentais. A coesão refere-se à interdependência dos elementos de um módulo, indicando o quão bem suas responsabilidades estão definidas e agrupadas de maneira lógica. Por outro lado, o acoplamento descreve a dependência entre os módulos de um sistema, onde um baixo acoplamento implica em uma interdependência mínima entre os elementos. Fonte: Adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique como a coesão e o acoplamento, como princípios da programação orientada a objetos, contribuem para a qualidade do software: A A coesão refere-se àdependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos de um módulo estão inter-relacionados. Uma alta coesão e um alto acoplamento são desejáveis para promover a modularidade do código. B A coesão refere-se à interdependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos de um módulo estão inter-relacionados. Uma alta coesão e um baixo acoplamento são desejáveis para promover a modularidade, reutilização e manutenção do código. 5 15/11/2024, 19:34 Avaliação I - Individual about:blank 4/8 C A coesão refere-se à interação entre os objetos de um sistema, enquanto o acoplamento descreve a dependência entre os atributos e métodos de uma classe. Uma baixa coesão e um alto acoplamento são desejáveis para promover a flexibilidade do código. D A coesão refere-se à interdependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos de um módulo estão inter-relacionados. Uma alta coesão e um médio acoplamento são desejáveis para promover a modularidade, reutilização e manutenção do código. E A coesão refere-se à interação entre os atributos e métodos de uma classe, enquanto o acoplamento descreve a dependência entre os módulos de um sistema. Uma alta coesão e um alto acoplamento são desejáveis para promover a flexibilidade do código. No contexto de programação orientada a objetos, onde uma classe é um modelo para criar objetos que define atributos e comportamentos comuns a esses objetos, um atributo são características de uma classe que descrevem seu estado, um método são ações que um objeto pode executar, um objeto é uma instância de uma classe, e uma mensagem é a forma como objetos interagem entre si. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Considere o contexto de uma loja de eletrodomésticos e analise as afirmativas a seguir: I. Liquidificador pode ser definido como uma classe e produto como um objeto. II. O Produto pode ser definido como uma classe e o liquidificador como um objeto. III. Data_venda pode ser definido como um atributo e calcular_preço como um método. IV. Nome_produto pode ser definido como um método e calcular_desconto como um atributo. É correto o que se afirma em: A II, III e IV, apenas. B II e III, apenas. C I e IV, apenas. D I, II e III, apenas. Revisar Conteúdo do Livro 6 15/11/2024, 19:34 Avaliação I - Individual about:blank 5/8 E III e IV, apenas. A Programação Orientada a Objetos (POO) é uma abordagem de desenvolvimento de software que modela objetos do mundo real. Ela utiliza conceitos como abstração, que simplifica a complexidade por meio de modelos essenciais; encapsulamento, que oculta detalhes internos; e herança, que permite criar novas classes com base em classes existentes. Além disso, a associação une objetos com interesses comuns. Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Suponha que na estrutura de uma empresa foram definidas três classes: Gerente, Funcionário e Vendedor. Dentro dessa hierarquia, os Gerentes têm a responsabilidade de coordenar os Vendedores e ambos são considerados Funcionários da empresa. Com base no exposto, analise as opções a seguir: I. Gerente é abstração de Vendedor. II. Gerente e Vendedor são associações. III. Gerente e Vendedor herdam de Funcionário. IV. Gerente e Vendedor especializam Funcionário. É correto o que se afirma em: A III e IV, apenas. B II e III, apenas. C II, III e IV, apenas. D I, II e III, apenas. E I e IV, apenas. Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. Na programação orientada a objetos, a herança deve ser utilizada no contexto apropriado. Para evitar que certas classes sejam herdadas e prevenir erros de encapsulamento e acoplamento, é possível torná-las impossíveis de serem herdadas utilizando a palavra reservada "final". Além disso, em situações em que a herança é permitida, mas alguns métodos herdados não devem ser sobrescritos, é possível aplicar a mesma palavra "final" nesses métodos específicos para evitar a sobrescrita e comportamentos polimórficos indesejados. 7 8 15/11/2024, 19:34 Avaliação I - Individual about:blank 6/8 Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base no texto fornecido, analise as afirmativas a seguir sobre o uso de "final" para evitar a herança ou a sobrescrita de métodos na programação orientada a objetos: I. A herança deve ser evitada para garantir encapsulamento e acoplamento. II. A palavra reservada "final" pode ser utilizada em classes para evitar que sejam herdadas. III. A utilização de métodos específicos podem ser marcados como "final" para evitar a sobrescrita. IV. A herança deve ser evitada em projeto que priorize reusabilidade na programação orientada a objetos. É correto o que se afirma em: A III e IV, apenas. B II e IV, apenas. C I, II, III e IV. D I, apenas. E I, II e III, apenas. Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. Considere um sistema de gerenciamento de biblioteca em uma escola. Cada livro na biblioteca é representado por uma classe Livro, que possui os atributos titulo, autor, anoPublicacao e disponível. Além disso, a classe Livro possui o método emprestar(), que marca o livro como indisponível quando emprestado, e o método devolver(), que marca o livro como disponível quando devolvido. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nos conceitos de orientação a objetos fornecidos, analise as afirmativas a seguir: I. A classe Livro é um exemplo de modelo ou template para criar objetos. II. Um objeto da classe Livro pode ter diferentes valores para o atributo anoPublicacao. III. O atributo disponível da classe Livro é uma característica que descreve o estado do objeto. IV. O método emprestar() da classe Livro é um exemplo de mensagem sendo enviada entre objetos. É correto o que se afirma em: A I, II, III e IV. 9 15/11/2024, 19:34 Avaliação I - Individual about:blank 7/8 B I, II e III, apenas. C II e IV, apenas. D I, apenas. E III e IV, apenas. Na programação orientada a objetos, os conceitos estruturais de abstratos, atributo, método e mensagem desempenham papéis fundamentais na modelagem e interação entre objetos. Abstração: Referem-se a ideias ou conceitos sem uma representação física direta, descrevendo características ou comportamentos comuns a um grupo de objetos. Atributo: Característica de um objeto que descreve seu estado ou propriedade. Método: Ação que um objeto pode realizar. Mensagem: Interação entre objetos através de pedidos para que um objeto execute um de seus métodos. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nos conceitos apresentados nos temas de abstratos, atributo, método e mensagem na programação orientada a objetos, assinale a alternativa correta que corresponde à definição de cada conceito: A Abstração: Descrição de uma ação que um objeto pode realizar. B Mensagem: Pedido para que um objeto execute um outro objeto. C Método: Representação física direta de um conceito ou ideia. D Abstração: Implementação específica e detalhada de cada função de um objeto. E Atributo: Característica de um objeto que descreve seu estado ou propriedade. Revisar Conteúdo do Livro 10 Imprimir 15/11/2024, 19:34 Avaliação I - Individual about:blank 8/8