Le Mercredi 20 Novembre 2002 17:11, Aurelien Mazurie a �crit :
>
> Quel est l'avantage de la mod�lisation par objet ? (par rapport � un
> acc�s "plat" aux informations, via un ensemble de routines communes)
>
D'abord il faut bien pr�ciser que ce "par rapport" ne signifie pas "contre" la
programmation classique, mais que la programmation objet lui apporte quelque
chose en plus. Que quelqu'un qui ne sait pas programmer de fa�on classique ne
saura pas non plus programmer en objet.
En effet, en programmation objet, l'action elle m�me reste un ensemble de
if... then... while, for etc. Rejeter la programmation classique revient �
avoir de beaux objets qui ne font rien.
Ensuite, parler de la programmation classique comme une suite de "acc�s plats"
aux informations revient � la r�duire � la plus horrible tradition des
fichiers shells ou visual basic r�alis�s sur le gaz. Je crois qu'il vaut
mieux parler de programmation "structur�e".
Et, dans beaucoup de cas, les "biblioth�ques" de la programmation structur�e
ressemblent fort aux "objets" de la programmation objet.
Mais dans la programmation classique - que l'on appellera donc, s'il vous
plait, la programmation structur�e - la notion de "biblioth�que" est une
sorte de verrue, et se r�duit souvent � la notion de "importation". La
programmation objet lui donne une pr�sence explicite dans le language.
A partir du moment o� ils sont explicites, ces modules peuvent avoir plus
facilement une existence, donc devenir des "classes, des "objets", avoir un
"cycle de vie", des "enfants", etc. Toutes choses difficiles, mais pas
impossible, � r�aliser en programmation classique.
Par exemple en Java on a :
soleil.brille("10h du matin", "16h");
La "bibliotheque" cr�ant l'objet "soleil" est explicite : c'est soleil. Son
action est "brille" : l� aussi c'est explicite.
En C, on aura : (de m�moire)
brille(soleil, "10h du matin", "16h");
L'action est "brille". Mais on ne sait pas si c'est "soleil, "10h du matin" ou
"16h" qui doit briller. On ne sait pas non plus dans quel module elle se
trouve. Pour le savoir il faut aller lire la doc.
Donc la programmation objet apporte EN PLUS � la programmation STRUCTUREE une
meilleure modularisation du language.
On dit souvent que la programmation objet se calque sur les objets du monde
r�el. L�, j'en suis moins s�r. Le nom "programmation objet" est plutot faux,
je trouve. Le nom "Programmation Structur�e Modularis�e" conviendrait
mieux... PSM, c'est bien, non ?
--
SARL diaam informatique - 04 50 77 12 60
Ingenierie, d�veloppements de syst�mes d'information
http://www.diaam-informatique.com