Daniel Cordey wrote:
>
> On Mon, 26 Mar 2001, claude wrote:
> > Je cherche la traduction française de deux termes utilisés en
> > programmation
> > 1) overloading : c'est à dire quand dans une classe on définit deux
> > méthodes ayant le même nom, mais des paramètres différents
> >
> > 2) overriding : quand une classe fille (une classe dérivée) redéfinit
> > une méthode déjà implantée sans sa classe mère avec les mêmes types de
> > paramètre
> >
> > J'ai trouvé surcharge et surédéfinition pour overloading, mais rien pour
> > overriding alors si qqun à une idée
>
> Tiens, il me semble que la literature C++ parle de "surcharge d'un operateur"
> dans le cas que tu definis sous "overriding", or le mot surchage correspond
> bien au terme "overload".
Pour le cas des opérateurs, on parle effectivement souvent de surcharge, mais
on pourrait aussi voir cela comme une simple définition.
Il y a surcharge dans le sens ou l'on ne peut pas inventer de nouveaux
opérateurs. On doit récupérer ceux qui existent (ce n'est pas vraiment une
limitation en C++) avec leur précédence, arité... Donc a chaque fois que
le compilateur tombe sur un opérateur, il doit choisir entre un opérateur
'classique' et un opérateur 'défini' selon le type des paramètres.
Il en est de même lorsque des fonctions sont surchargées comme :
int max(int, int);
float max(float, float);
Cependant ces opérateurs ne redéfinissent généralement rien dans une classe.
Il s'agit d'une simple définition qui apporte une nouvelle méthode. Sauf
pour l'assignation qui est généralement définie par défaut. Mais ça devient
peut-être un peu trop technique pour linux-leman là ?
Marc Mongenet
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.