Programmation Java/Polymorphisme

Un livre de Wikibooks.

Programmation
Java
Logo java.JPG
Sommaire
IHM avec SWING
Annexes
Modifier ce modèle

Le polymorphisme veut dire que le même service, aussi appelé opération ou méthode, peut avoir un comportement différent selon les situations.

  • Polymorphisme paramétrable (par surcharge de méthodes), les signatures (type et arguments) divergent.
public class A{
 
 private int a;
 
 public A() { //constructeur 1
  System.out.println("Création de A");
 }
 
 public A(int a){ //constructeur 2 par surcharge
  this.a=a;
 }
 
 public int getter() {
  return this.a;
 }
 
 public static void main(String[] args) {
  A premiera = new A(); //construction par 1
  A seconda = new A(1); //construction par 2
 }
 
}
  • Polymorphisme d'héritage (par redéfinition de méthodes dans une sous-classe)
public class B extends A{
 
 private int b;
 
 public B(){
  super();
  System.out.println('Création de B');
 }
 
 public B(int a, int b){
  super(a);
  this.b=b;
  System.out.println('Création de B');
 }
 
 public int getter() {
  return this.b;
 }
 
 public void setter(int a, int b) {
  super(a);
  this.b=b;
 }
 
 public static void main(String[] args) {
  B ob1= new B(10,20);
  ((A)ob1).getter(); // Par type casting, appel de methode getter de la classe A
 }
 
}