24-01-2009, 12:40 PM
(23-01-2009, 10:43 PM)gameprog2 a écrit : ça sert à quoi en pratique ?
en pratique au moment où je programme je ne sais pas quel objet va être instancié (ou quelle classe, je confond les termes)
je vais essayer de donner un exemple :
j ai une classe vélo, une classe moto, une classe voiture
ces trois classes ont les "mêmes" méthodes :
- démarrer
- accélérer
- freiner
chaque personnage a un véhicule, stocké en bdd
toto -> vélo
titi -> voiture
l'idée est de ne faire qu'un programme qui permette de créer le bon objet (un vélo, une voiture, etc...) au moment de l'appel
0) $perso contient le nom (ou l id) du personnage concerné
1) je récupère dans $vehi le résultat select vehi from table where perso = '$perso'
2) $bonneClasse = f( $vehi); <- la fonction qui a partir de $vehi va calculer le nom de la classe pertinente (soit classe_voiture, classe_velo, etc..)
3) $vehicule est l'objet que je vais manipuler, je l'instancie
$vehicule = new $bonneClasse ();
4) je manipule
$vehicule->demarre();
$vehicule->accelere();
$vehicule->freine();
ainsi avec ce code que ce soit titi avec sa voiture ou toto avec son vélo, ce sont les bonnes méthodes qui sont appelées
voilà j'espère que c'est clair ^^