Polymorphisme en java

Polymorphisme est un terme d'informatique de fantaisie qui fait référence à la capacité de Java d'utiliser des variables de base de la classe de se référer à des objets de sous-classes, de garder trace de ce qui sous-classe appartient un objet, et utiliser des méthodes surchargées de la sous-classe même si la sous-classe ne sait pas quand la programme est compilé.

Ouf! Voilà une bouchée. Cela revient à dire que chaque fois qu'un paramètre appelle à un type particulier, vous pouvez utiliser un objet créé à partir d'une sous-classe de ce type à la place.

Par exemple, supposons que vous développez une application qui peut jouer le jeu vénérable Tic-Tac-Toe, et que vous créez une classe nommée Joueur qui représente l'un des joueurs. Cette classe a une public méthode nommée mouvement qui renvoie une int pour indiquer quel carré de la carte le joueur veut marquer.

Pour garder les choses simples, la mouvement méthode choisit aveuglément la première case vide sur la carte que son déménagement. Cela est, bien sûr, une stratégie terrible pour gagner au Tic-Tac-Toe. Par conséquent, vous décidez de créer une meilleure version de la classe, appelé Moins soutenir. Vous implémentez la Moins soutenir classe comme une sous-classe de la Joueur classe, mais remplacer le mouvement Procédé de sorte que la Moins soutenir classe permet des mouvements plus intelligents que les Joueur classe.

Supposons que vous avez également écrit une méthode nommée MakeAMove dans la classe principale de l'application Tic-Tac-Toe (appelé TicTacToe). La MakeAMove méthode ressemble à ceci:

MakeAMove public void (Joueur p) {int i = p.move () - retourne i-}

Vous pourriez appeler l' MakeAMove méthode comme ceci:

int m = MakeAMove (nouveau lecteur ()) -

Dans ce cas, la MakeAMove méthode va retourner la première case vide du plateau.

Mais supposons que vous appelez cela comme ceci:

int m = MakeAMove (nouvelle moins soutenir ()) -

Dans ce cas, la MakeAMove méthode retournera un meilleur mouvement pensée-out parce que le Moins soutenir classe utilise un meilleur algorithme pour déterminer la prochaine étape du joueur.


» » » » Polymorphisme en java