Polimorfismo em java

Video: Curso POO Java #12b - Polimorfismo em Java (Parte 1)

Polimorfismo é um termo de ciência da computação de fantasia que se refere à capacidade de Java para utilizar variáveis ​​da classe base para se referir a objetos de subclasse, manter o controle de qual subclasse um objeto pertence, e usar métodos de substituição da subclasse mesmo que a subclasse não se sabe quando o programa é compilado.

Ufa! Isso é um bocado. O que ferve para baixo é que sempre que um parâmetro exige um tipo particular, você pode usar um objeto criado a partir de uma subclasse desse tipo em seu lugar.

Por exemplo, suponha que você está desenvolvendo um aplicativo que pode jogar o jogo venerável Tic-Tac-Toe, e você criar uma classe chamada Jogador que representa um dos jogadores. Esta classe tem uma público método chamado mover que retorna um int para indicar qual a casa do tabuleiro o jogador quer marcar.

Para manter as coisas simples, o mover método cegamente escolhe o primeiro quadrado vazio na placa como o seu movimento. Isto é, claro, uma estratégia terrível para ganhar em Tic-Tac-Toe. Portanto, você decidir criar uma versão melhor da classe, chamado BetterPlayer. Você implementar o BetterPlayer classe como uma subclasse da Jogador classe, mas substituir o mover Método de modo que o BetterPlayer classe faz movimentos mais inteligente que o Jogador classe.

Suponha que você também tenha escrito um método chamado Fazer um movimento na classe principal para o aplicativo Tic-Tac-Toe (chamou-lhe Jogo da velha). o Fazer um movimento método é algo como isto:

Video: 2-4 - Exemplo de Polimorfismo em Java

MakeAMove public void (p Player) {int i = p.move () - retornar i-}


Você poderia chamar o Fazer um movimento método como este:

Video: Curso POO Java #13b - Polimorfismo Sobrecarga (Parte 2)

int m = MakeAMove (novo jogador ()) -

Neste caso, o Fazer um movimento método irá retornar o primeiro quadrado vazio na placa.

Mas suponha que você chamá-lo assim:

int m = MakeAMove (novo BetterPlayer ()) -

Neste caso, o Fazer um movimento método retornará um melhor pensamento-out movimento porque o BetterPlayer classe usa um algoritmo melhor para determinar o próximo movimento do jogador.


Publicações relacionadas