Prévia do material em texto
11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 1/7 OBJETIVA REGULAR Disciplina(s): Programação Orientada a Objetos Data de início: 29/10/2016 09:22 Prazo máximo entrega: 29/10/2016 10:22 Data de entrega: 29/10/2016 09:39 Questão 1/10 - Programação Orientada a Objetos Dada a interface abaixo, desenvolvida em linguagem Java: public interface Thundercats { public void setArma(String arma); } Em qual das opções abaixo temos a utilização do paradigma do polimorfismo: Nota: 10.0 A public class Liono extends Thundercats { public void setArma(String arma) { ... } } B public class Liono { public void setArma() { ... } } 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 2/7 C public class Liono implements Thundercats { public void setArma(String arma) { ... } } D public class Liono implements Thundercats { public void setArma() { ... } } E public class Liono extends Thundercats { public arma { get; set; } } Questão 2/10 - Programação Orientada a Objetos Atributos e métodos são conceitos fundamentais de POO. Sobre os atributos e métodos da classe, podemos afirmar que: Nota: 10.0 A os atributos definem o comportamento do objeto enquanto os métodos definem suas características. B a classe pode ter um método construtor e um método destrutor, que são chamados na criação e na destruição do objeto respectivamente. C os atributos definidos por uma classe nunca podem ser acessados por outra classe. D os métodos de uma classe só podem acessar os atributos desta classe. E atributos podem ser declarados fora de uma classe. Questão 3/10 - Programação Orientada a Objetos Conforme vimos, a programação orientada a objetos permite que façamos alterações nos atributos e métodos das classes para que as mesmas limitem o que os outros objetos da aplicação podem ter acesso. Você acertou! Embora em uma interface, na linguagem Java, não tenhamos código, também podemos aplicar o paradigma do Polimorfismo, pois cada classe que implementar a interface terá que sobrescrever os métodos, conforme visto no slide 3 da aula 6. Você acertou! Conforme vimos no slide 6 da aula 2 sobre os métodos especiais de uma classe. 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 3/7 Para que a classe abaixo seja visível para todas as outras classes da aplicação que ela faz parte, qual o modificador que deve ser colocado em ( I ): ( I ) class Pessoa { private String nome; public Pessoa() { nome = “Nome não definido”; } } Nota: 10.0 A private B abstract C static void D public E protected Questão 4/10 - Programação Orientada a Objetos Quando utilizamos o comando "abrir", para provocar diferentes ações em objetos distintos, por exemplo: em uma caixa, porta ou janela, estamos representando figurativamente na orientação a objetos um paradigma da programação orientada a objetos. Este paradigma é denominado: Nota: 10.0 A Persistência. B Agregação. C Abstração. Você acertou! O modificador ‘public’, que no Java corresponde ao modificador ‘público’, torna o elemento que ele modifica visível para todos os outros elementos da aplicação, conforme visto no slide 5 da aula 3. 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 4/7 D Polimorfismo. E Herança. Questão 5/10 - Programação Orientada a Objetos A programação orientada a objetos possui vantagens e desvantagens. Como vantagem podemos dizer que o desenvolvimento é mais rápido utilizando a POO. Das alternativas abaixo, qual indica uma desvantagem da programação orientada a objetos: Nota: 10.0 A os analistas podem trabalhar em um nível mais alto de abstração. B os custos de desenvolvimento da aplicação são menores. C as aplicações necessitam de um hardware mais robusto para executarem. D maior adequação a tecnologia clienteservidor. E possibilidade de utilização de classes externas à aplicação. Questão 6/10 - Programação Orientada a Objetos Java é um exemplo de linguagem de programação orientada a objetos. Sobre Classes e Objetos na linguagem Java, indique a alternativa correta entre as apresentadas abaixo: Nota: 10.0 A o compilador Java não aceita classes cujo nome não inicie com letra maiúscula. B é uma boa prática de programação Java a utilização de nomes de pacotes iniciando com letras minúsculas. C na linguagem Java não é possível criar Classes a partir de Interfaces. D os métodos, na linguagem Java, devem sempre iniciar com o caractere ‘_’. Você acertou! A programação orientada a objetos nos permite sobrescrever os métodos das classes que herdamos, através do paradigma chamado Polimorfismo. Com ele, definimos que o comportamento definido na classe base pode ser especializado nas classes derivadas, conforme visto no slide 3 da aula 6. Você acertou! Conforme vimos na apresentação das desvantagens da programação orienta a objetos no slide 7 da apresentação. Você acertou! Conforme as boas práticas de programação que mostramos durante a aula, no slide 17 da aula 1. 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 5/7 E se, na linguagem Java, criarmos uma classe dentro de um pacote, os objetos desta classe só poderão ser utilizados dentro deste pacote. Questão 7/10 - Programação Orientada a Objetos Um analista de sistemas recebeu a seguinte especificação para definir quais seriam as classes que seriam criadas: “O sistema deverá prover a possibilidade de cadastro de projetos, atividades e recursos. Os projetos deverão ter uma lista de atividades, que por sua vez deverão ter data de início, data final e recurso responsável.” As classes que devem ser criadas são: Nota: 10.0 A sistema, projeto e pessoa B data de início e data final C projeto, atividade e recurso D recurso responsável, data final e data de início E projeto e sistema Questão 8/10 - Programação Orientada a Objetos Uma classe S possui vários métodos que compartilham do mesmo nome, porém com assinaturas diferentes. Apesar de terem o mesmo nome, esses métodos são distinguíveis pelo compilador em função das diferentes assinaturas. Que denominação é dada a esse princípio de projeto de orientação a objetos? Nota: 10.0 A Encapsulamento. B Polimorfismo. C Abstração. D Transigência. E Herança. Você acertou! Conforme vimos na aula 1, em uma especificação, podemos mapear as classes como os substantivos, portanto, neste caso a resposta correta é a indicada. Você acertou! Temos a possibilidades, na POO, de sobrescrever os métodos de uma classe derivada, em uma relação de herança, através do paradigma do Polimorfismo, conforme visto no slide 3 da aula 6. Os métodos sobrescritos têm a mesma assinatura nas classes envolvidas, mas seu conteúdo difere. 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 6/7 Questão 9/10 - Programação Orientada a Objetos Um dos paradigmas da programação orientada a objetos, chamado Encapsulamento, diz que devemos proteger as características das nossas classes, fazendo com que as mesmas sejam sempre privadas e tenham acessada apenas por métodos públicos. Dentre as opções abaixo, qual implementa esta ideia: Nota: 10.0 A class Pessoa{ String nome; public void String nome(); } B class Pessoa { public String nome; public void setNome(String n) { nome = n; } } C class Pessoa { private String nome; public void setNome(String n) { nome = n; } } D class Pessoa { String nome; void setNome() { nome = “João”; } } E class Pessoa { String nome { get; set; } } Você acertou! O modificador ‘private’, que no Java corresponde ao modificador ‘privado, torna o elemento que ele modifica invisível para todos os outros elementos da aplicação, conforme visto no slide 6 da aula 3. 11/11/2016 AVA UNIVIRTUS http://univirtus277877701.saeast1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/104591/novo/1 7/7 Questão 10/10 - Programação Orientada a Objetos Na programação orientada a objetos temos alguns paradigmas que devem ser utilizados para que o desenvolvimento do sistema seja mais adequado. Um destes paradigmas é o encapsulamento, sobre o qual podemos dizer que: Nota: 10.0 A dizse que um atributo está encapsulado quando envolvido por código de forma que só é visível na classe onde foi declarado, sendo possível seu acesso apenas a partir de métodos externalizados para este fim. B pode ser entendido como sendo um conjunto de instâncias criadas a partir de um outro conjunto de instâncias com características semelhantes. C é definido como sendo uma técnica que permite a um código possuir "vários comportamentos" ou produzir "vários comportamentos". D possibilita a criação de uma nova classe de modo que essa classe (denominada subclasse, classefilha ou classe derivada) herda todas as características da classemãe (denominada superclasse, classe base ou classe primitiva); podendo, ainda, a classefilha possuir propriedades e métodos próprios. E é considerado como a habilidade de modelar características do mundo real do problema que o programador esteja tentando resolver. 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.