Barre horizontale de naviagtion

jeudi 9 septembre 2010

Polymorphisme

Polymorphisme par sous-typage (dérivation)

L'idée est de partir d'un type et de le modifier. Par exemple, on peut créer une classe de base, puis faire des classes dérivées.

Ce concept est associé à l'approche orientée objet.

en C++ :

class Forme {
public:
virtual float Aire() = 0;
};

class Carre:public Forme {
public:
virtual float Aire() { return m_cote*m_cote; }
private:
float m_cote;
};

class Cercle:public Forme {
public:
virtual float Aire() { return 3.1415926535*m_rayon*m_rayon; }
private:
float m_rayon;
};

en Java :

abstract class Forme {
abstract float aire() ;
}

class Carre extends Forme{
float cote;
float aire() {
return cote * cote;
}
}

class Cercle extends Forme{
float rayon;
float aire() {
return Math.PI*rayon*rayon;
}
}


Intérêt du Polymorphisme

En proposant d'utiliser un même nom de méthode pour plusieurs types d'objets différents, le polymorphisme permet une programmation beaucoup plus générique. Le développeur n'a pas à savoir, lorsqu'il programme une méthode, le type précis de l'objet sur lequel la méthode va s'appliquer. Il lui suffit de savoir que cet objet implémentera la méthode.


Aucun commentaire:

Enregistrer un commentaire