Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. (ENADE/2008) Uma pizzaria fez uma ampliação de suas instalações e o gerente aproveitou para melhorar o sistema informatizado, que era limitado e não atendia a todas as funções necessárias. O gerente, então, contratou uma empresa para ampliar o software. No desenvolvimento do novo sistema, a empresa aproveitou partes do sistema antigo e estendeu os componentes de maneira a usar código validado, acrescentando as novas funções solicitadas. Que conceito de orientação a objetos está descrito na situação hipotética acima? Abstração Sobreposição Sobrecarga Herança Polimorfismo Gabarito Comentado 2. O tipo estático de um objeto é resolvido em tempo de ________ , enquanto que o tipo dinâmico do objeto é resolvido em tempo _______ . Isso permite postergar a definição de qual versão de um método será chamada, o que é a base do conceito de ________. Escolha a opção que complementa corretamente o texto anterior: Execução; compilação; polimorfismo Carregamento; execução; herança Compilação; carregamento; herança Compilação; execução; polimorfismo Execução; compilação; encapsulamento 3. Sobre programação orientada a objetos, assinale a afirmativa INCORRETA: Pacote é um conjunto de classes e interfaces. Os objetos também são denominados instâncias. Uma classe é um modelo usado para criar vários objetos com características semelhantes. Herança é um mecanismo que permite a uma classe herdar todo o comportamento e os atributos de outra classe. Uma classe que herda de outra é chamada superclasse. Gabarito Comentado 4. Analise as classes Teste e Animal e depois dê o que se pede. public class Teste { public void imprime() { System.out.println("*"); } public void imprime(int n) { for (int i = 1; i <= n; i++) System.out.println("*"); } } public class Animal { public void emiteSom() { System.out.println("???"); } } public class Gato extends Animal { public void emiteSom() { System.out.println("miado"); } } public class Cachorro extends Animal { public void emiteSom() { System.out.println("latido"); } } O que ocorre, respectivamente, nas classes Teste e Animal é : sobrecarga e overload sobrecarga e override sobrescrita e herança sobrescrita e polimorfismo overload e herança múltipla 5. Java permite trabalharmos com várias classes. Muitas vezes, classes diferentes tem características comuns, então, ao invés de criarmos uma nova classe com todas essas características usamos as características de um objeto ou classe já existente. Esse conceito se refere à: Interface Exceção Classes Abstratas Herança Polimorfismo Gabarito Comentado 6. Classes abstratas tem uma função importante na orientação a objeto em Java. De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos). Observe o fragmento de código: public abstract class Animal { public int peso; public abstract void locomover(); } Ao analisar o código, podemos afirmar, exceto: Nenhum objeto pode ser instanciado para uma classe abstrata. Para uma classe ser abstrata, ela precisa ter pelo menos um método abstrato. Métodos abstratos não possui corpo. O propósito de uma classe abstrata é fornecer uma superclasse apropriada da qual as outras classes (subclasses) podem herdar atributos e métodos, ou seja, ela fornece uma interface apropriada para as subclasses da sua hierarquia. Todos os métodos são implicitamente públicos e abstratos. Gabarito Comentado 7. Na programação orientada a objetos, o conceito de polimorfismo indica que: o nome dos métodos deve ser composto por, no máximo, 8 caracteres. uma certa operação de uma classe pode nem sempre ativar o mesmo método. o nome das classes deve ser composto por, no máximo, 20 caracteres. o código de cada operação tem um limite máximo no número de linhas de código. cada classe tem uma limitação quanto ao número de atributos que a compõe. 8. Analise o código Java abaixo, sabendo-se que as classes encontram-se no mesmo pacote, assinale a alternativa correta: class A { private int atrA; } class B extends A { protected int atrB; } class C extends B, A{ private int atrC; } A classe C está herdando as características das classes B e A, assumindo a característica de polimorfismo A classe B herda as características de A e pode acessar diretamente o atributo de A A classe B possui atributo protegido, sendo assim, qualquer classe que herde não pode acessar diretamente o atributo A classe C, por herdar as características das classes A e B, pode acessar diretamente os atributos de A e B A classe B herda as características de A, mas não tem acesso direto ao atributo de A
Compartilhar