Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/5 - Programação Orientada a Objetos Considerando os tipos de relacionamento entre objetos que o paradigma da Associação descreve e o enunciado a seguir: Considere um trem composto por uma locomotiva e por vários vagões. A classe Trem tem os métodos addVagao() e removeVagao(). Indique o tipo de relacionamento entre as classes Trem e Vagão: Nota: 20.0 A associação B composição Você acertou! Na relação de composição, temos uma interdependência entre o todo e as partes, ou seja, uma não existe sem a outra, conforme vimos no slide 10 da aula 4. Neste caso, não existirá trem sem vagão e o vagão não existirá sem o trem. C dependência D generalização E herança Questão 2/5 - Programação Orientada a Objetos Um dos principais paradigmas da programação orientada a objetos é definido como uma relação hierárquica entre duas classes, em que temos uma classe base e outra derivada da classe base, é chamado de herança. Qual opção abaixo aplica-se a herança na linguagem Java: Nota: 20.0 A podemos tem um objeto herdando de múltiplas classes no Java. B utilizamos a palavra-chave ‘extends’ para criar herança na linguagem Java. Você acertou! Conforme vimos no slide 8 da aula 5, devemos utilizar a palavra chave ‘extends’ para criar herança na linguagem Java. C uma classe abstrata pode criar um objeto diretamente, sem necessidade de que outra classe herde dela. D os atributos setados como protegidos na superclasse não podem ser acessados por métodos da subclasse. E quando um programa cria um objeto da superclasse, o construtor da superclasse imediatamente chama o construtor da subclasse (explicitamente, via super(), ou implicitamente). Questão 3/5 - Programação Orientada a Objetos A programação orientada a objetos incorpora paradigmas que são referentes à maneira como dois objetos se relacionam. Dentre os pares de tipos de relacionamentos mostrados, assinale a opção abaixo que apresenta ambos corretos: Nota: 20.0 A Agregação e composição. Você acertou! A Agregação e a Composição são tipos de Associação, que é um dos tipos de relacionamentos de objetos do paradigma POO, conforme visto nos slides 8, 9 e 10 da aula 4. B Generalização e composição C Generalização e especialização. D Composição e dependência. E Especialização e agregação. Questão 4/5 - Programação Orientada a Objetos Dado o código abaixo, escrito em linguagem Java: class Pessoa { protected String nome; } class Funcionario extends Pessoa { public String getNome() { return nome; } } Este código: Nota: 20.0 A mostra Funcionario como uma subclasse de Pessoa, que está compartilhando o atributo nome. Você acertou! A herança é um paradigma de programação orientada a objetos em que existe uma relação entre uma classe base e uma classe derivada, que pode ter acesso aos atributos e aos métodos da classe base, conforme visto no slide 3 e 4 da aula 5. B demonstra o encapsulamento dos dados de Funcionario. C mostra o paradigma da agregação, onde Funcionario agrega Pessoa. D não irá funcionar no Java, pois para termos herança no Java utilizamos a palavra chave ‘implements’. E o método getNome não pode utilizar o atributo nome, pois ele está protegido na superclasse. Questão 5/5 - Programação Orientada a Objetos Para construir um sistema de software será necessário construir as classes Cliente, com os atributos código, nome e endereço, Fornecedor, com os atributos código, nome, endereço e representante e Funcionário, com os atributos código, nome e endereço. Sobre este sistema e a POO, assinale a opção correta: Nota: 20.0 A podemos criar uma classe chamada Pessoa com os atributos comuns a todas as classes e fazer com que todas sejam subclasses de Pessoa. Você acertou! A herança é um paradigma de programação orientada a objetos em que existe uma relação entre uma classe base e uma classe derivada, que pode ter acesso aos atributos e aos métodos da classe base, conforme visto no slide 3 e 4 da aula 5. B não é possível utilizar a herança na classe Fornecedor, pois a mesma não tem todos os atributos iguais às outras classes. C neste caso não pode haver reaproveitamento de código, pois não há como utilizar herança neste caso. D podemos utilizar a composição para que todas as classes juntas componham o sistema. E podemos utilizar o encapsulamento dos dados para termos acesso a todos os atributos comuns.
Compartilhar