Bonjour Samuel,
Le 20 août 2008 23:52, Samuel Thibault <[EMAIL PROTECTED]> a écrit :
> Le C++ c'est la manière propre de le faire oui. Mais on peut aussi
> tout faire à la main en ajoutant à toute une série de fonction un
> paramètre pour passer l'"objet" (l'adresse d'une structure) sur lequel
> elle doit travailler.
Cela induit que l'on ne peut pas instancier les objets alors puisqu'on
se sert des structures.
On peut aussi définir des "méthodes" en ajoutant
> dans la structure un pointeur vers une fonction (à laquelle il faudra
> tout de même passer l'adresse de la structure).
Et donc des méthodes ne peuvent pas êtres intégrées dans la structure.
Ouille ça doit être compliqué pour s'y retrouver.
Quant à l'héritage,
> il faut se farcir la recopie à la main.
C'est ce qu'on pourrait appler du pseudo-héritage. Et quant à
l'implémentation alors ? On ne peut pas ajouter d'implémentation lors
de l'exécution je suppose.
Pour ce qui est de l'héritage
> multiple (ce dont gnome a typiquement besoin pour pouvoir exposer un
> type "Widget"), on est obligé de caster, et là c'est très moche même
> si gnome essaie de "proprifier" le cast en vérifiant à la volée le
> type.
Ah alors là ... c'est là que les athéniens s'athénirent.
>
> Dans le noyau Linux, il y a pas mal de tel orienté objet, ne serait-ce
> que pour facilement gérer de manière transparente les différents
> systèmes de fichiers par exemple. Mais le besoin d'un langage vraiment
> fait pour ne s'est pas vraiment fait sentir. Dans le cas de gnome, ça se
> fait _fortement_ sentir je trouve.

Et concernant les designs patterns, peut-on sans trop de difficultés
tenter de les respecter au mieux avec de l'objet en C.
Je suppose aussi qu'il y a possibilité de faire de l'objet avec
n'importe quel autre langage non orienté objet.

Merci pour ces explications, au moins je mourrai moins idiot. Et dire
que je me suis longtemps moqué d'un ami qui prétendait pouvoir faire
de l'objet en turbo-pascal.

Raphaël
_______________________________________________
Liste de diffusion CarrefourBLinuX
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel :
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel :
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à