Prévia do material em texto
Prova Impressa GABARITO | Avaliação I - Individual (Cod.:983183) Peso da Avaliação 2,00 Prova 87378222 Qtd. de Questões 10 Acertos/Erros 8/2 Nota 8,00 Descrito por Carvalho (2016), o uso indiscriminado de strings para definir atributos em classes é um problema comum que pode levar a situações adversas. Embora strings sejam amplamente utilizadas devido à sua versatilidade, é importante tomar cuidado para evitar problemas futuros. 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. Considerando as boas práticas destacadas por Carvalho (2016) sobre o uso parcimonioso de strings na definição de atributos em classes, avalie a seguinte situação: Você está desenvolvendo uma classe Pessoa em um sistema de gerenciamento de clientes. A classe possui os seguintes atributos: nome, rua, numeroEndereco, dataNascimento e CPF. Identifique a prática recomendada por Carvalho (2016) para a definição dos atributos da classe Pessoa. A Definir o nome, rua, cpf como string, dataNascimento como date e numeroEndereco como inteiro. B Definir todos os atributos nome, rua, numeroEndereco, dataNascimento e CPF como string. C Definir o nome, rua, cpf e numeroEndereco como string, dataNascimento como inteiro. D Definir nome, rua como string, dataNascimento como date e CPF e numeroEndereco como inteiro. E Definir o nome, rua, cpf e numeroEndereco como string, dataNascimento como date. A abstração é um conceito fundamental na Orientação a Objetos (OO). Ela permite simplificar a complexidade do mundo real por meio de modelos que representam as características essenciais de um objeto, enquanto ignoram detalhes irrelevantes. 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. Com base nas informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. Colaborador é a abstração das pessoas que trabalham na empresa. PORQUE II. Dentro de uma empresa, temos marketing, desenvolvedor, gerente e vendedor, todos classificados como colaboradores. A respeito dessas asserções, assinale a opção correta: A As asserções I e II são falsas. B As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. VOLTAR A+ Alterar modo de visualização 1 2 C As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. D A asserção I é uma proposição falsa e a II é uma proposição verdadeira. E A asserção I é uma proposição verdadeira e a II é uma proposição falsa. Ao desenvolver em Java, é essencial evitar práticas inadequadas da programação estruturada, buscando aproveitar os recursos oferecidos pela linguagem para garantir código mais legível, eficiente e livre de erros. Utilizar a classe StringBuilder para manipulação de strings, a classe BigDecimal para valores monetários e o foreach para simplificar loops for são algumas das boas práticas recomendadas. Esses recursos ajudam a minimizar instâncias desnecessárias de objetos, evitar imprecisões em cálculos e simplificar a manipulação de coleções. 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 sobre as práticas recomendadas na programação orientada a objetos em Java, analise as afirmativas a seguir: I. Buscar por classes auxiliares e recursos oferecidos pela linguagem pode tornar o desenvolvimento em Java mais difícil e ineficaz. II. O foreach é uma alternativa ao loop for tradicional e simplifica a manipulação de coleções, percorrendo automaticamente os elementos. III. O uso indiscriminado de concatenação de strings pode prejudicar a legibilidade do código e criar instâncias desnecessárias de objetos. IV. A classe BigDecimal é recomendada para lidar com valores monetários devido à sua precisão e eficiência na manipulação de números decimais. É correto o que se afirma em: A I e IV, apenas. B II e III, apenas. C III e IV, apenas. D I, II e III, apenas. E II, III e IV, apenas. 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: 3 4 A II, III e IV, apenas. B II e III, apenas. C I e IV, apenas. D III e IV, apenas. E I, II e III, 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. 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 A asserção I é uma proposição falsa e a II é uma proposição verdadeira. B A asserção I é uma proposição verdadeira e a II é uma proposição falsa. C As asserções I e II são falsas. D As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. E As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. Em um sistema de gestão de uma escola, temos as classes "Professor" e "Disciplina". Cada professor ministra uma ou mais disciplinas, e cada disciplina é ministrada por apenas um professor. 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. Identifique o tipo de associação existente entre as classes "Professor" e "Disciplina": A Herança. 5 Revisar Conteúdo do Livro 6 B Sobrescrita. C Polimorfismo. D Agregação. E Composição. 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 III e IV, apenas. C I, II e III, apenas. D II, III e IV, apenas. E I 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. 7 Revisar Conteúdo do Livro 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 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 Mensagem: Pedido para que um objeto execute um outro objeto. B Método: Representação física direta de um conceito ou ideia. C Atributo: Característica de um objeto que descreve seu estado ou propriedade. D Abstração: Descrição de uma ação que um objeto pode realizar. E Abstração: Implementação específica e detalhada de cada função de um objeto. Considere um sistema de software para uma biblioteca, onde há diferentes entidades, como livros, usuários e empréstimos, pessoas e funcionários. Cada entidade tem atributos e comportamentos específicos. Por exemplo, os livros possuem informações como título, autor e número de páginas, os usuários têm informações como nome, idade, número de identificação e histórico de empréstimos, funcionários tem tem informações como nome, idade e nome e os empréstimos precisam rastrear informações como a data de retirada, a data de devolução prevista e o estado do livro (empréstimo ou disponível). 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. Pensando na estrutura da biblioteca, analise as afirmativas a seguir: I. A entidade livro está associada à entidade empréstimo. II. A entidade usuário está associada à entidade empréstimo. III. A entidade funcionária e usuário herda da entidade pessoa. IV. A entidade livro está associada à entidade pessoa e ao objeto.É correto o que se afirma em: A III e IV, apenas. B I, apenas. C II e IV, apenas. D I, II, III e IV. E I, II e III, apenas. 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. 9 10 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 e III, apenas. B II e IV, apenas. C I, apenas. D I, II, III e IV. E III e IV, apenas. Imprimir