Bonjour,
J'ai hésité a poster ici ou sur le forum UML.
Je dois réaliser un petit schéma de classe, peut-on et si oui comment formaliser une méthode surchargée, et une méthode override
Merci
Version imprimable
Bonjour,
J'ai hésité a poster ici ou sur le forum UML.
Je dois réaliser un petit schéma de classe, peut-on et si oui comment formaliser une méthode surchargée, et une méthode override
Merci
Bonjour !
C'est la même chose :lol: je pense que tu parles du forum Methodes plutôt, non ?Citation:
J'ai hésité a poster ici ou sur le forum UML.
Cela dépend un peu. Pour moi , surcharge et override sont synonymes.. D'autant qu'il ne faut surtout pas penser à l'implémentation lors de la conception.Citation:
Je dois réaliser un petit schéma de classe, peut-on et si oui comment formaliser une méthode surchargée, et une méthode override
En cas d'interface (on parle de réalisation, non de surcharge) : tu écris le nom des méthodes dans l'interface, et tu place la relation de réalisation entre ta classe et l'interface, inutile de réécrire les méthodes dans la classe.
En cas d'héritage (ce qui t'interresse je pense) : il te suffit de réécrire la méthode en employant le même type de retour et les même paramètres.
Il ne me semble pas qu'il y ait un stéréotype <<override>>... Tu peux employer une note si cela n'est pas clair.
Bonjour et merci de tes précisions
dans un 1er temps j'avais posté mon message dans le formum JAVA langage..., le modérateur l'a justement déplacé, sans supprimer ma 1ere phrase.
D'après ce que j'ai compris la surcharge consiste a modifer le nombre de parametre et leur type pa rapport à la méthode héritée, alors que l'override (outrepasser) consite à redéfinir uniquement le coprs de la méthode héritée.
Je ne connaissais pas la nuance entre réalisation et surcharge, et comme ma classe implemente les méthodes d'une interface dans mon cas il s'agit bien de réalisation.
D'accord, pour toi "override" est une surcharge particulière. Oui sinon tu as raison, j'ai écrit 'en gardant les mêmes paramètres' mais ce n'est pas obligatoire.
Mais de toutes manière, oui, si tu viens d'une interface, pas besoin de spécifier que tu implémente les méthodes de l'interface, puisque de toutes manières tu y es obligé.
Par contre, si tu implémente une interface avec une classe abstraite, tu dois spécifier lesquelles ont un corps, et lesquelles sont abstraites.