Le constructeur: une méthode particulière

Pour instancier une classe, c'est-à-dire créer un objet à partir d'une classe, il s'agit d'utiliser l'opérateur new.
En réalité l'opérateur new, lorsqu'il est utilisé, fait appel à une méthode spéciale de la classe: le constructeur.

Le rôle du constructeur est de déclarer et de permettre d'initialiser les données membres de la classe, ainsi que de permettre différentes actions (définies par le concepteur de la classe) lors de l'instanciation.

Un constructeur se définit comme une méthode standard, mais ne renvoie aucune valeur.
Ainsi, le constructeur d'un objet porte le même nom que la classe et ne possède aucune valeur de retour (même pas void).

  • un constructeur porte le même nom que la classe dans laquelle il est défini
  • un constructeur n'a pas de type de retour (même pas void)
  • un constructeur peut avoir des arguments
  • la définition d'un constructeur n'est pas obligatoire lorsqu'il n'est pas nécessaire

La définition de cette fonction membre spéciale n'est pas obligatoire (si vous ne souhaitez pas initialiser les données membres par exemple) dans la mesure où un constructeur par défaut (appelé parfois constructeur sans argument) est défini par le compilateur Java si la classe n'en possède pas.

Voyons sur un exemple comment se déclare un constructeur :

class Toto{
int age;

char sexe;

float taille;

Toto(int age, char sexe, float taille){
	this.age = age;

	this.sexe = sexe;

	this.taille = taille;

  }
}

Définir plusieurs constructeurs

Comme pour n'importe quelle méthode, il est possible de surcharger les constructeurs, c'est-à-dire définir plusieurs constructeurs avec un nombre/type d'arguments différents. Ainsi, il sera possible d'initialiser différemment un même objet, selon la méthode de construction utilisée.

Imaginons par exemple que pour l'exemple précédent on veuille pouvoir définir le sexe de Toto grâce à un entier valant 0 ou 1, ainsi qu'avoir la possibilité de passer en paramètre la lettre 'M' ou 'F', on peut alors définir deux constructeurs pour lesquels le type du second argument sera différent. De plus, on va montrer de quelle manière il est possible de contrôler le caractère entré en paramètre :

class Toto{
int age;

char sexe;

float taille;

Toto(int age, char sexe, float taille){
	this.age = age;

	if ((sexe=='M')||(sexe=='F')) {
	this.sexe = sexe;

	}
	else System.out.println("Erreur d'initialisation");

	this.taille = taille;

}

Toto(int age, int sexe, float taille){
	this.age = age;

	switch (sexe) {
		case 0 :
			this.sexe = 'F';

			break;

		case 1:	
			this.sexe = 'M';

			break;

		default :
			System.out.println("Erreur d'initialisation");

			break;

		}
	this.taille = taille;

}

}


Dernière modification le mardi 14 octobre 2008 à 17:40:31.Ce document intitulé « Java - Constructeurs » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Meilleures réponses pour « Java Constructeurs » dans :
Java - Constructeurs Voir Le constructeur: une méthode particulière Pour instancier une classe, c'est-à-dire créer un objet à partir d'une classe, il s'agit d'utiliser l'opérateur new. En réalité l'opérateur new, lorsqu'il est utilisé, fait appel à une méthode spéciale de...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
[Logiciel libre] Installation firefox 2.0+java+flash VoirInstallation firefox 2.0+java+flash en ligne de commande A. INTRODUCTION B. INSTALLATION FIREFOX 1. Création d'environnement 2. Téléchargement et vérification de la signature 3. Installation de Firefox 4. Démarrage de l'application C....
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Java - L'héritage VoirLa notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...
Constructeur de copie VoirConstructeur de copie Le compilateur ne génère pas seulement un constructeur et un destructeur par défaut si l’utilisateur ne les a pas définis, il génère aussi un constructeur de copie qui est appelé chaque fois qu’une copie d’objet est réalisée en...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...