Accueil🇫🇷Chercher

MĂ©thode (informatique)

En programmation orientée objet (POO), une méthode est une routine membre d'une classe.

Une méthode peut être:

  • une mĂ©thode d'instance, n'agissant que sur un seul objet (instance de la classe) Ă  la fois;
  • une mĂ©thode statique ou mĂ©thode de classe, indĂ©pendante de toute instance de la classe (objet).

En programmation orientée objet, on utilise parfois le terme spécifique d'invocation de méthode pour désigner l'appel d'une telle fonction d'une classe.

Portée des méthodes

Dans de nombreux langages de POO, l'encapsulation à l'intérieur d'une classe permet de gérer et donc restreindre les droits d'accès à un membre de cette classe, soit une méthode (fonction membre) ou une propriété (donnée membre). On parle alors de la portée du membre. On utilise assez souvent (comme en C++ ou en Java par exemple) les mots-clés public, private ou protected pour gérer ces droits d'accès:

Portée de la méthode Mot-clef (en C++) Accessible par Remarque
Privée private les membres de la classe seulement Seul un objet de la classe peut les mettre en œuvre (« appeler ») ; ces méthodes recouvrent généralement le fonctionnement interne de la classe que l'on veut masquer de l'extérieur.
Protégée protected les membres de la classe et des classes dérivées Seul un objet de la classe ou d'une classe dérivée peut les mettre en œuvre.
Publique public les membres de la classe et de ses dérivées ainsi que les clients de la classe c'est-à-dire de tout objet ; ce sont ces dernières qui constituent l'interface de la classe.

Certains langages introduisent également les méthodes dites amies, qui listent alors explicitement les classes amies qui peuvent les invoquer, permettant ainsi notamment d'accorder des droits spécifiques entre classes mères et filles.

En principe, l'utilisation des méthodes publiques d'un objet, c'est-à-dire de son interface, est le seul moyen pour accéder à l'état de l'objet.

Classification des méthodes

Il existe différents types de méthodes :

  • le(s) constructeur(s) appelĂ©(s) Ă  la crĂ©ation de l'objet, soit :
    • le constructeur par dĂ©faut appelĂ© par dĂ©faut lors de la crĂ©ation d'un objet, (offert par dĂ©faut lors de la compilation s'il n'y a pas de constructeur dĂ©clarĂ©),
    • le constructeur par recopie (ou constructeur de copie) appelĂ© lors de la crĂ©ation de l'objet, du passage d'un objet par rĂ©fĂ©rence,
    • le(s) constructeur(s) paramĂ©trique appelĂ©(s) si la signature correspond Ă  celle du constructeur ;
  • le destructeur appelĂ© Ă  la suppression de l'objet, explicitement ou bien implicitement dans le cadre d'un langage Ă  ramasse-miettes ;
  • les mĂ©thodes abstraites qui sont des mĂ©thodes sans code — leur existence dans une classe suffit Ă  dĂ©clarer qu'une classe est abstraite et contraint Ă  introduire des classes filles pour les implĂ©menter et les exploiter ;
  • les accesseurs (Get) et les mutateurs (Set) :
    • les accesseurs permettent de rĂ©cupĂ©rer la valeur de donnĂ©es membres privĂ©es sans y accĂ©der directement de l'extĂ©rieur ; ils sĂ©curisent donc l'attribut en restreignant sa modification,
    • les mutateurs permettent de modifier l'Ă©tat de donnĂ©es membres tout en vĂ©rifiant si la valeur que l'on veut donner Ă  la donnĂ©e membre respecte les normes de celle-ci ou diverses règles de cohĂ©rence. Leur dĂ©tournement pour modifier en cascade d'autres Ă©tats du programme pouvant ĂŞtre source de bogues ou de perte de maintenabilitĂ©.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.