[Kos-dev] Progressions du WE
d2
kos-dev@enix.org
16 Oct 2001 10:34:36 +0200
Bonjour,
Quelques questions/remarques :
- [pinaillage] En general, on parle de classe "abstraite" plutot que
"virtuelle". Peut-etre qu'il faudrait que les interf. virtuelles
s'appellent "abstraites" ?
- Pour quelle raison une interface ne peut-elle pas heriter d'une
autre interface (non virtuelle) ? Est-ce que c'est pour ne pas
compliquer les choses lors de la construction/destruction (ie pas
d'imbrication de constructeurs/destructeurs) ?
- Je ne pige pas la difference entre private ("donnees propres a
chaque instance") et resource ("les donnees dont les instances de
l'interface ont besoin pour manipuler chaque entite dont le
translator est une instance de cette interface"). En fait, a
relire, c'est plus cette definition de resource que je ne
comprends pas. A lire l'exemple qui suit, je ne vois pas la
difference entre offset et donald de mickey : il s'agit d'une
donnee d'une instance d'interface (qu'on appelle "translator" dans
le texte qui va avec "resource") qui est soit "propre a chaque
instance" (donald : private), soit qui "correspond a une variable
dans ses propres donnees" (offset : resource). Quelle est la
difference ?
- Le 'shared' correspond au 'static' du C++ (peut-etre meme du
Java), meme si dans le cas present il s'agit d'un delimiteur de
section, alors qu'en C++/Java(?) il s'agit d'un attribut de
variable. Je sais bien que le mot clef 'static' a 1565732
significations differentes en C. Est-ce qu'on garde 'shared' au
lieu du plus habituel 'static'.
- Je vois que 'this' existe. Mais je me dis aussi qu'il serait bien de
pouvoir acceder aux methodes parentes en cas de surcharge
d'operateur. La methode habituelle du C++ (cast) risque de
compliquer la moulinette de traduction. C'est pour ca qu'avoir un
pointeur 'parent' serait aussi pas mal.
- Est-ce qu'on sera toujours oblige d'ecrire 'this->name' pour
acceder a la variable 'name' ?
Voila les quelques questions sur le document meme. Et maintenant,
comment cree-t'on une instance ? Comment l'utilise-t'on ? Peut-on
acceder a certaines methodes des interfaces sans les instancier ?
Mais j'aime bien, oui, j'aime bien. Malgre les apparences, le truc qui
me chiffonne le plus, c'est l'assymetrie entre interfaces abstraites
(non instanciables, heritables), et "concretes" (non heritables,
instanciables).
Bonne journee,
--
d2