Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Polymorphie en java


{filelink=11162}

import java.util.Random;
/*
 *
 * Exemple de Polymorphie en Java
 *
 **/
public class ExempleForme {
  private static RandomShapeGenerator gen = new RandomShapeGenerator();
 
  public static void main(String[] args) {
    Shape[] s = new Shape[5];
    // Remplir le tableau avec les formes:
    for (int i = 0; i < s.length; i++)
      s[i] = gen.next();
    //Appels de la m�thode polymorphique:
    for (int i = 0; i < s.length; i++)
      s[i].dessiner();
 
  }
}
class Shape {
  void dessiner() {
  }
 
  void effacer() {
  }
}
 
class Cercle extends Shape {
  void dessiner() {
    System.out.println("Cercle.dessiner()"); //La m�thode dessiner de la classe cercle
  }
 
  void effacer() {
    System.out.println("Cercle.effacer()");
  }
}
 
class Carr� extends Shape {
  void dessiner() {
    System.out.println("Carr�.dessiner()"); //La m�thode dessiner de la classe cerr�
  }
 
  void effacer() {
    System.out.println("Carr�.effacer()");
  }
}
 
class Triangle extends Shape {
  void dessiner() {
    System.out.println("Triangle.dessiner()"); //La m�thode dessiner de la classe triangle
  }
 
  void effacer() {
    System.out.println("Triangle.effacer()");
  }
}
 
// Factoriser la g�n�ration des Formes
 
class RandomShapeGenerator {
  private Random rand = new Random();
 
  public Shape next() {
    switch (rand.nextInt(3)) {
    default:
    case 0:
      return new Cercle();
    case 1:
      return new Carr�();
    case 2:
      return new Triangle();
    }
  }
}

A Voir sur le même Sujet:

  • polymorphie java