2.4 Méthodes
- Nom donné aux opérations
- Méthodes associées aux classes (pas de méthode sans
classe)
- Surcharge (en anglais, overloading) des méthodes possible
- Méthode d’instance
- Méthode de classe avec mot réservé static
- Prototype de la méthode public
static void main(final String [])
- Passage d’arguments
- Par valeur pour les types primitifs
- Par référence pour les objets et les tableaux
précédent suivant
Ce que vous connaissez sous le concept de fonction en langage
C (partie de code, associée à une liste de
paramètres et un type de retour) est appelé opération en UML et méthode en Java
ainsi que dans de nombreux langages objets.
En Java, les méthodes ne sont pas définies dans un seul
espace de nommage comme en langage C. Chaque
méthode est définie à l’intérieur d’une classe. Dans une classe les
méthodes sont identifiées par leur nom et la liste de leurs paramètres, ce qui
donne la possibilité d’avoir plusieurs méthodes dans une classe qui
portent le même nom mais qui travaillent sur des paramètres de types
différents. Cette possibilité est appelée surcharge de méthodes (overloading en
anglais).
Dans le cas le plus courant, les méthodes sont associées aux
objets d’une classe. Elles sont utilisées à travers une référence
d’objet. Nous approfondirons ceci dans le chapitre 3. Les méthodes de ce
type sont appelées méthodes d’instance car elles agissent sur un objet à
la fois.
Les méthodes peuvent aussi être associées à la classe
lorsqu’elles sont qualifiées de static,
comme les méthodes que nous avons vues jusqu’à maintenant, et en
particulier la méthode main. Ce type de méthode
est dit de classe. Ces méthodes de classe peuvent être utilisées directement en
associant le nom de la classe et le nom de la méthode reliés par un point comme
dans Math.sqrt(4).
La méthode de classe public static
void main(String []) joue un rôle identique à la méthode int main(int argc, char *argv[]) du langage C. Elle sert de point d’entrée pour un programme.
Les variables de type primitif sont passées par copie de la
valeur. Les variables de type tableau ou objet sont manipulées en Java à
travers une référence. Lors du passage d’une référence à une méthode,
cette référence permet de manipuler l’objet d’origine. Ainsi toute
modification réalisée à travers une référence dans une méthode appelée modifie
l’objet qui est référencé de manière visible par la méthode appelante.
Christian Bac, Denis Conan, Télécom
SudParis, CSC 4002, Octobre 2015
|