La communauté ALL HTML c'est 60442 membres à ce jour dont 0 inscrits aujourd'hui et 5 depuis une semaine.

Surcharge de méthodes

Photo de DrHelmut Article publié le mardi 05 septembre 2006 par DrHelmut.
Cet article est classé dans les catégories « JAVA »

Dans l'article sur les classes, vous avez vu que l'on pouvait écrire plusieurs constructeurs, par exemple un sans paramètres (constructeur par défaut) et un avec.<br /> Et bien ce principe est apellé la surcharge, et c'est un excellent mécanisme que le langage Java permet !

La machine virtuelle Java (qui interprète le code semi-compilé) est capable de différentier deux méthodes ou plus portant le même nom, pour peu que tous les arguments soient de type différents. (ou dans un ordre différent)

Cela permet d'une part de bénéficier dans l'API Java (les librairies) d'un panel de fonctions adaptés à tous les types, donc pratique d'utilisation et d'autre part cela permet une grande souplesse du code.

Un exemple pratique simple : une méthode renvoyant le carré d'un nombre
//méthode pour un entier public int square(int a) { return a*a; } //méthode pour un réel public double square(double a) { return a*a; }
ainsi pas la peine d'apeller des méthodes aux noms différents à chaque fois (squareInt, squareDouble..) quelque soit le type du nombre dont vous voulez le carré il suffira de faire " monNombre=square(monNombre) ".
C'est d'ailleurs le cas des méthodes de la classe Maths de l'API Java.

Mais ce n'est qu'un début !
Voyons un autre exemple : un client FTP.
/* méthode pour se connecter à l'hôte [url] sur le port spécifié */ public void connect(String url, int port) { // } //connection sur le port par défaut public void connect(String url) { connect(url,20); }

L'utilisateur de la classe ne connait pas forcément le par défaut d'un serveur FTP, alors vous devez penser à lui simplifier la vie. Ca ne coute pas grand chose à faire en plus et c'est une bonne habitude à prendre (en Java du moins).

Sources de l'information : moi et mes cours de Java de 1ère année de DUT info ^-^


VOS COMMENTAIRES ...

Commenter cette publication

Aucun commentaire pour le moment ...

Commenter cette publication

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

Forums de discussions associés

Discutez et échangez sur ce thème dans notre forum Autres langages (JAVA, JSP, etc.).

Liens sponsorisés

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.