5Close7
GoldenCrystalOn the 2011-01-05 at 12:54pm
Folco (./5) :
Parce que là c'est bien de ça qu'il est question non, tous les objets que tu crées héritent de Handle pour accéder à certains types de manipulation ou à peu près, non ?
Heu, non cheeky
Un handle c'est pas un objet au sens C++, Java ou C#. Pas un truc dont tu peux hériter. C'est juste un handle.
Après tu peux concevoir *tes* propres handles pour qu'ils suivent une hiérarchie (c'est le cas avec certaines APi Win32). Par exemple les fonctions qui travaillent sur des handles de types HFRUIT (représentant le type interne Fruit) accepteront aussi les handles de type HBANANE (représentant le type interne Banane, dérivé de Fruit).
Y'a aucune fonction universellement apellable sur un HANDLE, c'est juste un concept abstrait, au même titre qu'un objet (tu as plusieurs façons de concevoir les objets, pas forcément compatibles entre elles), après tu l'implémentes un peu comme tu veux tant que tu respectes les règles, mais ça ne sera jamais compatible avec les autres (ou alors par pur hasard).
En fait la seule chose que les handle ont en commun c'est d'être représentés par des valeurs qui sont en général des entiers de la taille d'un pointeur natif, ou bien directement des pointeurs (cela revient plus ou moins au même en principe). Parce que peu importe les chemins que tu empruntes, un objet finit toujours par se résumer à un chiffre quelque part… winket
C'est pas toi qui me disait que l'héritage sapue ?
trifus
Je sais pas ce que j'ai pu te dire mais certainement pas ça. grin