Prévia do material em texto
nline Questão 1 : Mesmo que as classes abstratas sejam parecidas com as interfaces, ambas têm particularidades que as tornam únicas. Logo, marque a resposta que melhor representa cada uma delas. Resposta Errada! A resposta correta é a opção D Justificativa:A principal diferença entre elas é que os métodos de uma interface Java são implicitamente abstratos e não podem ter implementações. Uma classe abstrata Java pode ter métodos de instância que implementam um comportamento padrão. Enquanto as interfaces têm métodos públicos, as classes abstratas têm métodos abstratos e concretos. As interfaces determinam contratos (também chamados de assinaturas), enquanto as classes compartilham comportamentos. A Interfaces podem ter apenas métodos abstratos públicos; as classes abstratas não podem conter campos de dados. B Na classe abstrata, a palavra-chave abstract é opcional para declarar um método. Enquanto na interface, a palavra-chave abstract é obrigatória para declarar um método como um resumo. C Tanto as interfaces como as classes abstratas podem conter métodos concretos. D Interface é utilizada quando implementações compartilham apenas a assinatura do método; classe abstrata é usada quando várias implementações do mesmo tipo compartilham um comportamento comum. E Interface é utilizada quando várias implementações do mesmo tipo compartilham um comportamento comum; classe abstrata é usada quando implementações compartilham apenas a assinatura do método. Questão 2 : src=/media/images/61.jpg Analise o código e marque a alternativa incorreta. Resposta Errada! A resposta correta é a opção E Justificativa:Na classe Homem teremos um erro de compilação, pois o método calculaIdade foi declarado como final na classe Pessoa; com isso, qualquer classe que tente sobrepô-lo não terá sucesso. A A classe pessoa possui um método final. B Nenhum dos atributos da classe pessoa foram declarados como constantes. C A classe homem está herdando os membros da classe pessoa. D Se instanciarmos a classe Pessoa , chamarmos o método calculaIdade e passarmos os valores referentes a ano de nascimento e ano atual por parâmetros no método, teremos como resultado a idade. E Se instanciarmos a classe Homem, chamarmos o método calculaIdade e passarmos os valores referentes a ano de nascimento e ano atual por parâmetros no método, teremos como resultado a idade. Questão 3 : Qual a relação do polimorfismo com interfaces e superclasses? Resposta Errada! A resposta correta é a opção D Justificativa:Quando uma classe implementa uma interface, é como se ela assinasse uma contrato que a obriga a utilizar os métodos existentes na interface. Esses métodos devem ser implementados pela classe, isto é, escritos de forma a atender a especificidade da classe. A Há polimorfismo quando uma subclasse herda membros de uma superclasse. B Quando uma classe herda membros de uma interface, ativa um comportamento polimórfico. C Quando um método existente em uma interface é usado por uma classe que não altera a implementação do método, temos um comportamento de polimorfismo. D Quando uma classe implementa uma interface, ela se obriga a utilizar e implementar todos os métodos da interface, com isso, temos um comportamento polimórfico. E Quando uma classe implementa uma interface, não há necessidade de utilizar todos os seus métodos. Entretanto, para que haja um comportamento polimórfico, é necessário implementar os métodos utilizados de acordo com sua necessidade. Questão 4 : Em uma estrutura de herança, uma classe usa membros de outra classe. Interfaces fornecem membros para que outras classes possam fazer uso deles. Com isso, é importante conhecermos o conceito de herança para podermos analisar suas diferenças com implementação de interfaces. Marque a alternativa que melhor define herança. Resposta Errada! A resposta correta é a opção A Justificativa:Herança dá a possibilidade de classes aumentarem suas funcionalidades, herdando membros de uma superclasse. A Herança é uma estrutura que possui uma superclasse e subclasses que herdam membros desta superclasse. B Em uma estrutura de herança, as subclasses herdam apenas métodos da superclasse. C Ao herdar um método da superclasse, ele não poderá ser sobrescrito pela superclasse. D Uma superclasse não pode ser instanciada. E Para criarmos uma estrutura de herança, devemos limitar a duas o número de subclasses. Questão 5 : A orientação a objetos trouxe alguns conceitos interessantes para a programação, e um deles está relacionado ao conhecimento sobre a implementação interna da classe, o qual é desnecessário do ponto de vista do objeto. Assinale a alternativa correta quanto ao seu nome: Resposta Errada! A resposta correta é a opção B Justificativa:O encapsulamento é a técnica que permite que o conhecimento sobre a implementação interna de uma classe seja desnecessário quanto ao objeto que a instancia. Já o relacionamento não é um conceito-base da orientação a objetos. Ainda, as classes são estruturas e a abstração, embora seja um dos conceitos novos, diz respeito a entender o conceito de objetos, enquanto que a herança refere-se a herdar estruturas de uma classe para outra. A Relacionamentos. B Encapsulamento. C Classes. D Abstração. E Herança. Questão 6 : Marque a alternativa incorreta. Resposta Errada! A resposta correta é a opção E Justificativa:Os padrões com propósito estrutural são: Adapter(class), Adapter(Object), Bridge, Composite, Decorator, Facade, Flyweight, Proxy. A O critério "escopo" especifica se o padrão se aplica primeiramente a classes ou a objetos. B O padrão para classes lida com os relacionamentos entre classes e suas subclasses. C Alguns padrões são frequentemente usados em conjuntos. D Os padrões Factor Method, Abstract Factor, Builder, Prototype e Singleton possuem a finalidade de Criação. E Os padrões com propósito estrutural são: Adapter(class), Adapter(Object), Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Visotor. Questão 7 : Em algumas linguagens de programação orientada a objetos, como C++ e Python, é possível que uma classe possua relacionamento de herança com mais de uma classe. Assinale a alternativa correta quanto ao nome desse tipo de herança: Resposta Errada! A resposta correta é a opção D Justificativa:Quando uma classe tem relacionamento de herança com mais de uma classe, esse tipo de relacionamento é chamado de Herança Múltipla. As demais denominações - Herança Composta, Herança Binária, Herança Dupla, Herança Associativa - não existem. Dizem-se Herança Simples, quando herda de apenas uma classe, e Herança Múltipla como nesses casos. A Herança Composta. B Herança Associativa. C Herança Dupla. D Herança Múltipla. E Herança Binária. Questão 8 : Qual o objetivo de usarmos a palavra-chave final em membros de uma classe? Acertou! A resposta correta é a opção D Justificativa:O uso do final serve para darmos imutabilidade. D Para deixar o membro imutável. Questão 9 : O polimorfismo é um dos quatro pilares da programação de orientação a objetos. Portanto, marque a opção que melhor descreva o conceito de polimorfismo. Resposta Errada! A resposta correta é a opção C Justificativa:Quando múltiplas classes implementam a mesma interface, cada classe implementa os métodos de maneira diferente. Questão 10 : Para um método de classe acessar membros de classe não estáticos, devemos: Resposta Errada! A resposta correta é a opção C Justificativa:Para o método estático poder acessar um outro membro da classe, o mesmo deve ser estático. B Questão 8 : Qual o objetivo de usarmos a palavra-chave final em membros de uma classe? Acertou! A resposta correta é a opção D Justificativa:O uso do final serve para darmos imutabilidade. A Encapsulamento. B Dar visibilidade pública aos membros da classe. C Para deixarmosos membros visíveis em sua classe e subclasses. D Para deixar o membro imutável. E A palavra-chave final é utilizada apenas em classe. . Questão 9 : O polimorfismo é um dos quatro pilares da programação de orientação a objetos. Portanto, marque a opção que melhor descreva o conceito de polimorfismo. Resposta Errada! A resposta correta é a opção C Justificativa:Quando múltiplas classes implementam a mesma interface, cada classe implementa os métodos de maneira diferente. A Quando uma classe herda membros de outra classe. B Quando uma classe possui métodos abstratos. C Quando cada classe implementa o mesmo método de diferentes maneiras. D Quando uma subclasse usa um método da superclasse. E Quando uma classe possui um ou mais métodos sem retorno. Questão 10 : Para um método de classe acessar membros de classe não estáticos, devemos: Resposta Errada! A resposta correta é a opção C Justificativa:Para o método estático poder acessar um outro membro da classe, o mesmo deve ser estático. A Colocar a palavra-chave static no membro a ser acessado. B Colocarmos a palavra-chave protected no membro a ser acessado. C Um método estático não pode acessar membros de classe não estáticos. D Devemos declarar o método usando o get na frente do seu nome. E Devemos declarar o método usando o set na frente do seu nome.