Tutoriais Java

Java HOME Introdução ao Java Java Começar Sintaxe Java Comentários Java Variáveis ​​Java Tipos de dados Java Cast de tipo Java Operadores Java Strings Java Java Math Java Booleanos Java Se... Senão Comutador Java Java While Loop Java para loop Java Break/Continuar Matrizes Java

Métodos Java

Métodos Java Parâmetros do método Java Sobrecarga do método Java Escopo Java Recursão Java

Classes Java

Java OOP Classes/objetos Java Atributos de classe Java Métodos de classe Java Construtores Java Modificadores Java Encapsulamento Java Pacotes Java / API Herança Java Polimorfismo Java Classes internas de Java Abstração Java Interface Java Enumerações Java Entrada de usuário Java Data Java Java ArrayList Java LinkedList Java HashMap Java HashSet Iterador Java Classes Java Wrapper Exceções Java Java RegEx Threads Java Java Lambda

Manipulação de arquivos Java

Arquivos Java Java Criar/Gravar Arquivos Arquivos de leitura Java Java Excluir Arquivos

Java como fazer

Adicionar dois números

Referência Java

Palavras-chave Java Métodos de String Java Métodos matemáticos Java

Exemplos Java

Exemplos Java Compilador Java Exercícios de Java Teste Java Certificado Java


Polimorfismo Java


Polimorfismo Java

Polimorfismo significa "muitas formas", e ocorre quando temos muitas classes que estão relacionadas entre si por herança.

Como especificamos no capítulo anterior; A herança nos permite herdar atributos e métodos de outra classe. O polimorfismo usa esses métodos para realizar diferentes tarefas. Isso nos permite realizar uma única ação de maneiras diferentes.

Por exemplo, pense em uma superclasse chamada Animalque tem um método chamado animalSound(). As subclasses de animais podem ser porcos, gatos, cachorros, pássaros - e eles também têm sua própria implementação de um som animal (o porco uiva, o gato mia, etc.):

Exemplo

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

Lembre-se do capítulo Herança que usamos a extendspalavra-chave para herdar de uma classe.

Agora podemos criar Pige Dogobjetos e chamar o animalSound()método em ambos:

Exemplo

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

class Main {
  public static void main(String[] args) {
    Animal myAnimal = new Animal();  // Create a Animal object
    Animal myPig = new Pig();  // Create a Pig object
    Animal myDog = new Dog();  // Create a Dog object
    myAnimal.animalSound();
    myPig.animalSound();
    myDog.animalSound();
  }
}

Por que e quando usar "herança" e "polimorfismo"?

- É útil para reutilização de código: reutilize atributos e métodos de uma classe existente ao criar uma nova classe.