Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:687705) Peso da Avaliação 1,50 Prova 40601268 Qtd. de Questões 10 Acertos/Erros 9/1 Nota 9,00 Dois dos relacionamentos mais utilizados na programação orientada a objetos são os relacionamentos de herança e associação. Embora tenham algumas características comuns, estes relacionamentos devem ser utilizados na solução de problemas diferentes. Com relação aos relacionamentos de associação e herança, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A herança não permite a reutilização de métodos de superclasses, devido ao polimorfismo. ( ) Um relacionamento de associação é equivalente a um relacionamento de posse, pois a associação é simplesmente a colocação de um atributo de determinado tipo em uma classe. ( ) Tanto a associação quanto a herança devem ser implementados na linguagem de programação Java através de palavras reservadas. ( ) No relacionamento de herança, a subclasse deve responder positivamente à pergunta (é um tipo de), feita para a superclasse. Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B F - V - F - V. C F - V - F - F. D V - V - V - F. A utilização do recurso de Pacotes em Java permite uma melhor organização do código-fonte, além de permitir que duas ou mais classes tenham o mesmo nome em pacotes diferentes. Juntamente com eles, o uso dos modificadores de visibilidade compõe uma fórmula poderosa no tocante à definição de segurança e encapsulamento de um programa ou aplicação. Sobre a utilização de modificadores de visibilidade na linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O modificador "default", aplicado para uma classe, permite o acesso a essa classe por uma classe de outro pacote através do comando import. ( ) O modificador "default", definido para um método contido em uma classe pública, impede que o método seja acessado por outra classe criada em outro pacote. ( ) O modificador "private", definido para um método contido em uma classe com o modificador "default", não impede que o método seja acessado por outra classe criada no mesmo pacote. ( ) O modificador "public", definido para um método contido em uma classe pública, elimina qualquer tipo de restrição de acesso ao método, mesmo que ele seja acessado em uma classe criada em outro pacote. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - F - F. B F - V - F - V. C V - F - F - V. D V - V - V - F. A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e pode, quando bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte. Considerando o relacionamento de herança entre duas ou mais classes, assinale a alternativa CORRETA: VOLTAR A+ Alterar modo de visualização 1 2 3 A A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser reescritos através dopolimorfismo. B Com a utilização do recurso de herança é possível compartilhar métodos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos atributos. C Com a utilização do recurso de herança é possível compartilhar atributos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos métodos. D A palavra extends define a herança na linguagem de programação Java. O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade, uma vez que as classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe "Atleta": package fontes; public class Atleta{ private int pais; private String modalidade; private boolean medalistaOlimpico; public abstract void competir(String modalidade) { System.out.println("É especialista em " + modalidade); } public void competirPor(int pais){ System.out.println("O atleta compete por " + pais); } } I- A classe em questão não apresenta nenhum problema de sintaxe. II- O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave "abstract", antes da palavra chave "void", resolverá o erro gerado. III- O método "competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave "abstract", antes da palavra-chave "void". IV- O método "competir(String modalidade)" gera erro de sintaxe. Assinale a alternativa CORRETA: A As sentenças II e IV estão corretas. B As sentenças I e II estão corretas. C As sentenças III e IV estão corretas. D As sentenças II e III estão corretas. Como regra geral, os atributos de uma classe devem ser ocultos dos demais objetos do sistema, com o objetivo de garantir o encapsulamento. Entretanto, caso algum destes atributos deva ser exposto, existem vários tipos de exposição, através dos métodos getters e setters. Com relação à utilização dos getters e setters em uma classe, classifique V para as sentenças verdadeiras e F para as falsas: I- Os métodos getters fornecem acesso de escrita a um atributo. II- Os métodos setters permitem que se altere o valor de um atributo de um objeto. III- Uma das vantagens dos setters é que se pode fazer a chamada dos mesmos sem instanciar o objeto onde eles estão. IV- Os métodos setters sempre devem retornar o valor que acabaram de passar ao atributo. Agora, assinale a alternativa CORRETA: A Somente a sentença II está correta. B Somente a sentença IV está correta. C As sentenças III e IV estão corretas. D As sentenças I e III estão corretas. Define-se um objeto como a instância de uma classe, um objeto pode ser considerado como a "materialização" de uma classe. A linguagem de programação Java utiliza uma categoria especial de métodos para essa função, os chamados construtores que são invocados através do operador "new". Sobre a utilização de métodos construtores na linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Se não forem definidos parâmetros de inicialização, a linguagem de programação Java utiliza um construtor padrão sem parâmetros. ( ) Se uma classe contiver pelo menos um construtor com parâmetros, a 4 5 6 instanciação de objetos com o construtor implícito, não declarado na classe, sem parâmetros (vazio) deixa de existir. ( ) Uma classe pode conter quantos construtores forem necessários, considerando a combinação de seus atributos, inclusive o construtor sem parâmetros. ( ) Uma classe pode conter apenas uma quantidade de construtores igual à quantidade de seus atributos. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - F - F. B V - V - V - F. C V - F - F - V. D V - V - V - V. A própria API do Java implementa a herança em diversos locais. Nas APIs descritas a seguir, assinale a alternativa INCORRETA: A NumberFormat, DateFormat e DecimalFormat. B Format, NumberFormat e SimpleDateFormat. C TextFormat, MessageFormat e ChoiceFormat. D MessageFormat, ChoiceFormat e SimpleDateFormat. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe 7 8 Triangulo tem como superclasse a classe FormaGeometrica. Agora, assinale a alternativa CORRETA: A As sentenças I e III estão corretas. B Somente a sentença I está correta. C As sentenças I e II estão corretas. D As sentenças II e III estão corretas. Quando uma classe herda de outra, ela herda implementação, atributos e comportamento. Isso significa que todos os métodos e atributos disponíveis na interface externada classe mãe estarão também na interface externa da filha. Uma classe construída através de herança pode ter alguns métodos e atributos. Sobre eles, assinale a alternativa INCORRETA: A Orientado: com herança de implementação, atributos e comportamento. B Sobreposto: a nova classe herda o método da progenitora, mas fornece uma nova definição. C Recursivo: a nova classe simplesmente herda um método ou atributo da classe mãe. D Novo: a nova classe adiciona um método ou atributo completamente novo. 9 Programação é o processo de escrita, teste e manutenção de um programa de computador. A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. Com relação aos conceitos de programação orientada a objetos e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Classes abstratas servem como modelo para outras classes que dela herdam e devem ser instanciadas utilizando a palavra reservada "new". II- Todas as classes em Java herdam, direta ou indiretamente, a classe Object. III- Interfaces podem ser utilizadas quando classes diferentes (não relacionadas) precisam de funcionalidades comuns (métodos) ou utilizam constantes comuns. IV- Na linguagem Java, é possível haver polimorfismo por meio da implementação de herança entre classes. Agora, assinale a alternativa CORRETA: A As afirmativas I e III estão corretas. B As afirmativas II, III e IV estão corretas. C Somente a afirmativa II está correta. D As afirmativas I e IV estão corretas. 10 Imprimir