Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina(s): Programação Orientada a Objetos APOL 4 Data de início: Prazo máximo entrega: - Data de entrega: Questão 1/10 Conforme vimos anteriormente, o paradigma do encapsulamento significa modificarmos a visibilidade dos atributos de uma classe para que os mesmos não possam ser acessados diretamente por outros objetos. O acesso aos mesmos deve ser feito através de métodos públicos, criados para este fim. Para termos encapsulamento na classe abaixo, qual a alternativa que representa os valores de ( I ) e ( II ): public class Cachorro { ( II ) void setNome(String nome) { this.nome = } ( II ) void setRaca(String raca) { } ( II ) String getNome() { } ( II ) String getRaca() { } A abstract e protected B public e public C final e public D private e public Você acertou! O paradigma do encapsulamento, como vimos no slide 5 da aula 4, prevê que os atributos da classe sejam sempre privados, com métodos de acesso públicos. E protected e abstract Questão 2/10 Conforme vimos, a programação orientada a objetos define alguns paradigmas que nos permitem, ao utiliza-los, obter vantagens no desenvolvimento dos softwares. Levando-se em conta o descrito acima, assinale a opção correta: A encapsulamento não é possível de feito em linguagem Java. B na associação temos objetos que são relacionados a outros sem relação de pertencimento. Você acertou! A relação de associação não prevê pertencimento, ou seja, os objetos são associados entre si, existindo quando não associados, conforme vimos no slide 8 da aula 4. C herança é um paradigma de POO em que temos o mesmo método sendo sobrescrito. D métodos públicos não podem ser acessados se a classe que os define for declarada como privada. E o método construtor de uma classe não pode ser declarado como privado. Questão 3/10 A programação orientada a objetos possui paradigmas que são referentes à maneira como dois objetos se relacionam. Dentre os relacionamentos mostrados, assinale a opção abaixo que possui dois deles: 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/10 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: 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 5/10 A programação orientada a objetos é baseada em diversos conceitos, ou paradigmas, tais como encapsulamento, herança, polimorfismo e abstração. Com relação a esses conceitos, é correto afirmar que: A o conceito de encapsulamento é alcançado por meio da definição da visibilidade pública aos atributos e métodos. B herança é um mecanismo que permite que uma classe herde todo o comportamento e os atributos de outra classe. Em Java, pode-se implementar tanto a herança única quanto a herança múltipla. C interface pode ser considerada como a forma com que um objeto se apresenta para outros, no que diz respeito aos seus atributos e métodos. Em Java, uma mesma classe não pode implementar mais de uma interface. D polimorfismo é o uso de um mesmo nome para identificar diferentes implementações dos métodos. Seu uso é comum na definição de construtores, em que os mesmos podem ser implementados em diferentes versões para as diferentes formas de se instanciar a classe. Questão 6/10 Em um sistema de software, escrito em linguagem Java, temos duas classes, X e Y com um relacionamento hierárquico, sendo que Y é subclasse de X. Este é um exemplo de qual paradigma da POO? A encapsulamento B polimorfismo estático C herança 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. D agregação E abstração Questão 7/10 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: 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. E para uma classe ser considerada abstrata, todos os seus métodos devem ser abstratos. Em Java, para se definir uma classe abstrata deve-se utilizar a palavra chave no início de sua declaração. Você acertou! Conforme vimos no slide 3 da aula 4, um dos paradigmas da orientação a objetos é o polimorfismo, no qual temos várias implementações para o mesmo método. 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. Questão 8/10 Dado o código abaixo, escrito em linguagem Java: class Pessoa { } class Funcionario extends Pessoa { public String getNome() { } } Este código: 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 E o método getNome não pode utilizar o atributo nome, pois ele está protegido na superclasse. Questão 9/10 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: A podemos tem um objeto herdando de múltiplas classes no Java. B herança na linguagem Java. Você acertou! 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 10/10 Em programação orientada a objetos, podemos ter uma relação hierárquica entre duas classes, onde a subclasse herda da superclasse. No caso de uma relação dessas: A apenas as variáveis públicas de instância. B apenas os métodos e variáveis de instância públicos. C todas as variáveis de instância e apenas os métodos estáticos. D todas as variáveis e métodos, exceto os públicos e os que foram sobrescritos. E todas as variáveis de instância e os métodos que, entretanto, podem explicitamente serem sobrescritos. 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.
Compartilhar