Baixe o app para aproveitar ainda mais
Prévia do material em texto
1Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e duas maneiras de se estabelecer uma relação entre objetos são através da associação e da herança que devem ser utilizados na solução de problemas diferentes. Sobre esses relacionamentos, analise as sentenças a seguir: I- Quando um relacionamento de associação é estabelecido entre duas ou mais classes, significa que os objetos dessas classes estão relacionados, de alguma maneira, no mundo real. II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de maneira diferente do que nos relacionamentos de herança. III- Os relacionamentos do tipo "associação" são implementados na linguagem de programação Java através das palavras reservadas "associate to". IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma herança. Assinale a alternativa CORRETA: A As sentenças II e IV estão corretas. B As sentenças I e IV estão corretas. C As sentenças I e III estão corretas. D As sentenças II e III estão corretas. 2O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java, sendo que uma das mais utilizadas é a criação e a implementação de interfaces. Considerando a criação e a utilização de interfaces dentro da linguagem de programação Java, analise o código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12. ( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia. ( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método gerarChaveCripto(Date data). ( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - V. B V - F - V - V. C F - V - F - F. D V - V - F - F. 3O 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, a seguir, e classifique V para as sentenças verdadeiras e F para as falsas: 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); } } ( ) A classe em questão não apresenta problemas de sintaxe. ( ) O método competirPor(int pais) está gerando erro de sintaxe e usa incorretamente a palavra-chave void. ( ) O método competirPor(int pais) possui um retorno de tipo definido. ( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a palavra-chave abstract corretamente. Assinale a alternativa que apresenta a sequência CORRETA: A V - V - V - V. B F - F - F - F. C V - F - V - V. D F - F - V - V. 4A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA: A O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte. B O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected". C O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse. D O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte. 5A 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: A 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. B A palavra extends define a herança na linguagem de programação Java. C A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser reescritos através do polimorfismo. D 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. 6Define-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 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 - V. C V - V - V - F. D V - F - F - V. 7Java é 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 Triangulo tem como superclasse a classe FormaGeometrica. Agora, assinale a alternativa CORRETA: A As sentenças II e III estão corretas. B As sentenças I e III estão corretas. C Somente a sentença I está correta. D As sentenças I e II estão corretas. 8A 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étodoseja 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 V - F - F - V. B F - F - F - F. C F - V - F - V. D V - V - V - F. 9Dois 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 - F. C V - V - V - F. D F - V - F - V. 10Classes abstratas são um recurso poderoso da linguagem Java para criação de abstrações. Utilizando classes abstratas pode-se alcançar bons níveis de reutilização de código-fonte, além de fortalecer e favorecer o conceito de polimorfismo, permitindo a reutilização e a extensão de estado e comportamento entre classes. Sobre as características das classes abstratas, analise as sentenças a seguir: I- Classes abstratas, por via de regra, não podem gerar objetos, mas construtores abstratos, construtores especiais, podem ser utilizados por essas classes para permitir que objetos sejam criados. II- Os métodos concretos de uma classe abstrata podem ser compartilhados, sem alterações, por todas as suas classes concretas geradas. III- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve implementar todos os métodos abstratos presentes na hierarquia. IV- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve alterar todos os métodos concretos presentes na hierarquia. Assinale a alternativa CORRETA: A As sentenças I e II estão corretas. B As sentenças II e III estão corretas. C As sentenças II e IV estão corretas. D As sentenças III e IV estão corretas.
Compartilhar