Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação ll – POO 1. Considere os dois tipos principais de polimorfismo, o estático e o dinâmico. Qual é a principal diferença do funcionamento desses dois tipos de polimorfismo? a) Na prática, não existe diferença entre os tipos de polimorfismo, eles têm apenas nomes diferentes conforme a linguagem de programação utilizada. b) A principal diferença entre o polimorfismo estático e dinâmico é que o estático é um tipo de polimorfismo resolvido em tempo de compilação, enquanto o dinâmico é um tipo de polimorfismo resolvido em tempo de execução. (Alternativa correta) c) A principal diferença entre o polimorfismo estático e dinâmico é que o estático é um tipo de polimorfismo resolvido em tempo de execução, enquanto o dinâmico é um tipo de polimorfismo resolvido em tempo de compilação. d) No polimorfismo estático a velocidade de execução é baixa e no polimorfismo dinâmico a velocidade de execução é alta. Essa relação em nada tem a ver com o tempo de execução ou compilação. 2. Em relação a construtores, marque a afirmativa incorreta. a) O construtor não possui tipo de retorno. b) Ao nomearmos um construtor, devemos colocar o mesmo nome da classe a que pertence. c) Construtores não podem ter argumentos. (Alternativa correta) d) Os modificadores de acesso do construtor podem ser: public, private e protected. 3. Marque a afirmativa correta: a) Se você não pode afirmar, a partir do nome da classe, o que um objeto da classe supostamente deve fazer, provavelmente você não está no caminho certo. (Alternativa correta) b) Uma classe deve ser criada para representar vários conceitos do domínio do problema. c) Nomeamos uma classe utilizando um verbo que define o objetivo dessa classe. d) Uma categoria útil de classes pode ser descrita como atores. Essas classes servem para iniciar um programa. 4. A forma geral de uma declaração class que herda uma superclasse é: a) nome-subclasse extends nome-superclasse { //corpo da classe } b) class nome-subclasse extends nome-superclasse { //corpo da classe } (Alternativa correta) c) class nome-subclasse extends nome-superclasse ( //corpo da classe ) d) class nome-superclasse extends nome-subclasse{ //corpo da classe } 5. Analise o código abaixo e marque a alternativa correta. a) O código 1 refere-se à criação de uma classe abstrata. b) O código 2 está incorreto, pois o método locomover pertence à interface "InterfaceTeste". Quando a classe "Formiga" implementou a interface, a mesma alterou a implementação do método. c) O código 3 está escrito de forma correta. d) O código 4 está escrito de forma errada, pois, para utilizarmos uma interface, devemos colocar a palavra-chave implements, não extends. (Alternativa correta) 6. No paradigma de orientação a objetos, o conceito de polimorfismo é implementado, em algumas linguagens, por meio da técnica de sobrecarga de métodos, como, por exemplo, no Java. O que é a técnica de sobrecarga de métodos em Java? a) Sempre que há mais de um método com o mesmo nome, mas um número diferente de argumentos ou tipos de dados diferentes na mesma classe, é conhecido como sobrecarga de método em Java. (Alternativa correta) b) Sempre que há mais de um método com o mesmo nome na classe pai e filho, com o mesmo número de argumentos e os mesmos tipos de dados, é conhecido como sobrecarga de método em Java. c) Quando dois ou mais métodos têm o mesmo nome, assim como assinaturas iguais no mesmo escopo, mas têm uma quantidade de argumentos e tipos de dados sem iguais nunca divergindo. d) Sempre é aplicada quando um determinado método recebe uma sobrecarga muito grande de informações, ou seja, quando um método tem muitos argumentos; quando existe essa sobrecarga, o método é dividido em dois. 7. Em orientação a objetos, como devemos começar as atividades de programação? a) Identificando objetos e as classes às quais eles pertencem. (Alternativa correta) b) Identificando os métodos. c) Identificando os requisitos funcionais da aplicação. d) Identificando os atributos. 8. O polimorfismo dinâmico acontece na herança, quando a subclasse sobrepõe o método superclasse. Desta maneira, o método escolhido ocorre em tempo de execução e não mais em tempo de compilação. Considerando as propriedades do polimorfismo dinâmico, escolha a opção que explique qual é a saída do seguinte programa: a) Erro de tempo na execução. b) Estudou polimorfismo. (Alternativa correta) c) Não estudou polimorfismo d) Erro de compilação. 9. Em orientação a objetos, temos as chamadas classes externas ou envolventes. Marque a alternativa correta. a) Classes externas ou envolventes são classes que não estão no mesmo pacote. b) Classes externas ou envolventes são classes declaradas com o modificador de acesso public. c) A melhor definição para classes externas ou envolventes seria a de uma superclasse. d) Classes externas ou envolventes são classes que contêm ou encapsulam classes aninhadas. (Alternativa correta) 10. Existem algumas maneiras de instanciar uma classe aninhada não estática. Considere uma classe externa chamada A e uma classe aninhada chamada B. Marque a resposta que possui o código correto. a) B variavel = new B(); b) B variavel = new A().new B(); c) A.B variavel = new A().new B(); (Alternativa correta) d) A variavel = new A(); 1. Considere os dois tipos principais de polimorfismo, o estático e o dinâmico. Qual é a principal diferença do funcionamento desses dois tipos de polimorfismo? 2. Em relação a construtores, marque a afirmativa incorreta. 3. Marque a afirmativa correta: 4. A forma geral de uma declaração class que herda uma superclasse é: a) nome-subclasse extends nome-superclasse { //corpo da classe } b) class nome-subclasse extends nome-superclasse { //corpo da classe } (Alternativa correta) c) class nome-subclasse extends nome-superclasse ( //corpo da classe ) d) class nome-superclasse extends nome-subclasse{ //corpo da classe } 5. Analise o código abaixo e marque a alternativa correta. 6. No paradigma de orientação a objetos, o conceito de polimorfismo é implementado, em algumas linguagens, por meio da técnica de sobrecarga de métodos, como, por exemplo, no Java. O que é a técnica de sobrecarga de métodos em Java? a) Sempre que há mais de um método com o mesmo nome, mas um número diferente de argumentos ou tipos de dados diferentes na mesma classe, é conhecido como sobrecarga de método em Java. (Alternativa correta) b) Sempre que há mais de um método com o mesmo nome na classe pai e filho, com o mesmo número de argumentos e os mesmos tipos de dados, é conhecido como sobrecarga de método em Java. c) Quando dois ou mais métodos têm o mesmo nome, assim como assinaturas iguais no mesmo escopo, mas têm uma quantidade de argumentos e tipos de dados sem iguais nunca divergindo. d) Sempre é aplicada quando um determinado método recebe uma sobrecarga muito grande de informações, ou seja, quando um método tem muitos argumentos; quando existe essa sobrecarga, o método é dividido em dois. 7. Em orientação a objetos, como devemos começar as atividades de programação? 8. O polimorfismo dinâmico acontece na herança, quando a subclasse sobrepõe o método superclasse. Desta maneira, o método escolhido ocorre em tempo de execução e não mais em tempo de compilação. Considerando as propriedades do polimorfismo dinâmico, e... 9. Em orientação a objetos, temos as chamadas classes externas ou envolventes. 10. Existem algumas maneiras de instanciar uma classe aninhada não estática. Considere uma classe externa chamada A e uma classe aninhada chamada B. Marque a resposta que possui o código correto. a) B variavel = new B(); b) B variavel = new A().new B(); c) A.B variavel = new A().new B(); (Alternativa correta) d) A variavel = new A();
Compartilhar