OVH Cloud OVH Cloud

Vocabulaire.

42 réponses
Avatar
Alexis Guillaume
Bonjour =E0 tous.

Je suis en train de concevoir une hi=E9rarchie de classe en C++ :

class base {
public:
virtual void foo();
};

Dans les commentaires, j'impose que si foo() est d=E9riv=E9e dans une
classe fille, alors cette m=E9thode d=E9riv=E9e doit aussi appeler
explicitement base::foo() apr=E8s avoir fait ce qu'elle voulait. Plus
g=E9n=E9ralement, si on a C qui h=E9rite de B et B qui h=E9rite base, et qu=
e B
et C d=E9rivent foo(), alors C::foo() doit appeler B::foo() et B::foo()
doit appeler base::foo().

Je dois r=E9diger un document de conception et j'ai bien du mal =E0
trouver comment appeler ce genre de fonctions virtuelles. Je pensais =E0
quelque chose comme "m=E9thode virtuelle cha=EEn=E9e"... Mais il y a
s=FBrement mieux et il y a peut-=EAtre m=EAme un mot qui existe d=E9j=E0 po=
ur
cela auquel cas c'est bien s=FBr lui que j'emploirai.

Merci pour vos avis =E9clair=E9s.
Alexis Guillaume.

2 réponses

1 2 3 4 5
Avatar
Wykaaa
James Kanze a écrit :
On Mar 6, 2:33 pm, Wykaaa wrote:
James Kanze a écrit :



[...]
Le concepte d'OO a bien ses origines dans Smalltalk. Depuis,
on a évolué, voir Eiffel, par exemple (qui lui aussi
commence à montrer son âge). (Et évidemment, ce que c'est
exactement le OO dépend bien à qui on démande. Alan Kay en
donnerait bien une autre définition que Bertrand Meyer.)





La programmation objet n'a pas ses origines dans Smalltalk
mais dans SIMULA, et ce, dès 1962 ! Voir, par exemple
:http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html



Mais est-ce qu'ils l'ont appelé OO ? J'avais bien connaissance
de SIMULA, et sa rôle, mais j'ai toujours cru que c'était Alan
Kay qui a créé l'expression « object oriented » pour Smalltalk.

Il me semble que Simula utilisait le typage statique, comme C++,
Eiffel, Java..., et non le typage dynamique de Smalltalk.



Oui c'est exact

Et
qu'il y a bien quelques inconditionnels de Smalltalk qui insiste
que sans typage dynamique, ce n'est pas du OO.



Personnellement, je ne suis pas d'accord avec ça.

Revoir ce que disent les 3 amigos d'UML sur le sujet.
Avatar
James Kanze
On Mar 7, 7:06 pm, Wykaaa wrote:
James Kanze a écrit :
> On Mar 6, 2:33 pm, Wykaaa wrote:
>> James Kanze a écrit :



> [...]
>>> Le concepte d'OO a bien ses origines dans Smalltalk.
>>> Depuis, on a évolué, voir Eiffel, par exemple (qui lui
>>> aussi commence à montrer son âge). (Et évidemment, ce que
>>> c'est exactement le OO dépend bien à qui on démande. Alan
>>> Kay en donnerait bien une autre définition que Bertrand
>>> Meyer.)



>> La programmation objet n'a pas ses origines dans Smalltalk
>> mais dans SIMULA, et ce, dès 1962 ! Voir, par exemple
>> :http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html



> Mais est-ce qu'ils l'ont appelé OO ? J'avais bien
> connaissance de SIMULA, et sa rôle, mais j'ai toujours cru
> que c'était Alan Kay qui a créé l'expression « object
> oriented » pour Smalltalk.



> Il me semble que Simula utilisait le typage statique, comme
> C++, Eiffel, Java..., et non le typage dynamique de
> Smalltalk.



Oui c'est exact



> Et qu'il y a bien quelques inconditionnels de Smalltalk qui
> insiste que sans typage dynamique, ce n'est pas du OO.



Personnellement, je ne suis pas d'accord avec ça.



Moi non plus, mais ces mêmes pourraient bien arguer que c'est
Alan Kay qui a conçu l'expression, et donc, c'est l'utilisation
d'Alan Kay qui en fait référence.

C'est pourquoi j'ai bien dit que ce qui m'intéresse, c'est le
concepte que j'utilise (assez proche des idées de Bertrand
Meyer) qui m'intéresse, plutôt que le nom.

Revoir ce que disent les 3 amigos d'UML sur le sujet.



Ou beaucoup d'autres. Le problème avec l'expression OO, c'est
qu'elle est devenu un mot fétiche, avec autant de définitions
que des gens qui en reclament. À cet égard, je ne connais que
deux langages, C++ et CLOS, qui l'emploient à sa juste valeur,
c-à-d un outil fort utile qu'il faut supporter, mais en laissant
au programmeur assez de liberté en ce qu'il en entend.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
1 2 3 4 5