From: "Raphaël POITEVIN" <[EMAIL PROTECTED]>
Subject: Re: [CBLX] C orienté objet
Date: Thu, 21 Aug 2008 15:13:30 +0200
> 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.
Si tu lis l'introduction de la doc de eieio par Eric Ludlam,
tu verras qu'il a développé ce truc pour faire de l'objet en
emacs-lisp précisément parce qu'on l'avait mis au défi de le
faire !
>
> 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