Teste de paradigmas
Por: brunozem • 23/11/2015 • Relatório de pesquisa • 376 Palavras (2 Páginas) • 400 Visualizações
1. Descreva os recursos característicos das linguagens orientadas a objetos.
2. Qual é a diferença entre uma variável de classe e uma variável de instância?
3. O que é herança múltipla?
Herança múltipla, em orientação a objetos, é o conceito de herança de duas ou mais classes. Ela é implementada nas linguagens de programação C++ e em Python, por exemplo. A linguagem Java possui apenas herança simples (uma classe possui no máximo uma classe pai), mas permite que uma classe implemente várias interfaces.
4. O que é uma variável polimórfica?
Uma variável polimórfica é uma que pode armazenar objetos de diferentes tipos (cada variável objeto em Java é potencialmente polimórfica). De maneira semelhante, chamadas de método Java são polimórficas, uma vez que podem invocar diferentes métodos em diferentes momentos.
5. O que é um método sobrescrevedor?
6. O que é um método virtual?
7. O que é uma classe abstrata?
8. Como os objetos alocados no monte em C++ são liberados?
9. Todas as classes em C++ são subtipos? Explique.
10.Que desvantagens existe em permitir que os projetistas especifiquem que métodos podem ser estaticamente vinculados?
11.Quais são as diferenças entre derivações privadas e públicas em C++? Dê um exemplo.
12.Como o sistema de tipos de Java é diferente do C++?
13.Como os objetos em Java são liberados?
14.De que maneira métodos sobrecarregados em C# diferem sintaticamente de seus correspondentes em C++?
15.Ruby suporta herança múltipla?
16.Quais são as diferenças entre uma classe abstrata C++ e uma interface Java?
17.O que significa para uma subclasse ter um relacionamento “é-um” com sua classe pai?
18.Em Ruby, o que significa o sinal de igualdade (=) anexado ao nome do método de escrita?
19.Considerando o código abaixo em Java, escreva sua saída na tela e explique.
class OuterClass {
private int x = 15; private int y = 13;
public static void main(String[] args) {
OuterClass outClass = new OuterClass();
outClass.createInnerClass();
}
public void createInnerClass() {
InnerClass inClass = this.new InnerClass();
inClass.accessOuter();
System.out.println("O valor de y é: "
...