Dans cette fiche... |
Difficulté : ![]() |
Résultat (pas spectaculaire, mais ça marche quand même !) |
Dans l'exemple précédent, nous avons créé un objet Ellipse, et renseigné ses propriétés. Mais on peut améliorer ceci, grâce à la notion de constructeur. |
Le constructeur est une fonction qui est appelée dès la création de l'objet, et qui sert (comme son nom l'indique) à construire l'objet, c'est-à-dire à définir toutes les variables utiles à cet objet.
// -------------------------------------------------- // APPLETELLIPSE1 : UTILISATION DE L'OBJET "ELLIPSE" // --------------------------------------------------
import java.applet.*;
// L'applet principale public class AppletEllipse1 extends Applet { // Déclaration des objets Ellipse1 e1, e2;
// Initialisation de l'applet public void init() { // Initialisation des ellipses e1 = new Ellipse1(100, 200, 300, 50); e2 = new Ellipse1(150, 250); } }
// L'objet a utiliser class Ellipse1 extends Object { int x, y; // Coordonnées du centre de l'ellipse int largeur, hauteur; // Dimensions de l'ellipse
// Constructeur de l'objet public Ellipse1(int xx, int yy, int ll, int hh) { x = xx; y = yy; largeur = ll; hauteur = hh; }
// Autre constructeur public Ellipse1(int xx, int yy) { x = xx; y = yy; largeur = 50; hauteur = 20; } }
Les lignes non commentées ont déjà été traitées dans les exemples précédents.
// Constructeur de l'objet public Ellipse1(int xx, int yy, int ll, int hh) { x = xx; y = yy; largeur = ll; hauteur = hh; } |
On commence par le bas du listing, pour analyser l'objet Ellipse1. La portion de listing ci-dessus illustre l'écriture d'un constructeur :
Comment fonctionne ce constructeur ?
Et quand il n'y a pas de constructeur ?
|
public Ellipse1(int xx, int yy) { x = xx; y = yy; largeur = 50; hauteur = 20; } |
On a ajouté un 2ème constructeur, qui porte bien sûr le
nom de l'objet, mais qui attend cette fois seulement deux valeurs (xx et yy).
C'est d'ailleurs sur le nombre et le type des paramètres que Java fait la
différence entre les constructeurs.
La ligne e2 = new Ellipse1(150, 250); crée donc un objet Ellipse1 de coordonnées (x, y) = (150, 250). La taille de l'ellipse est imposée par le constructeur (largeur = 50 et hauteur = 20). Pour frimer :o) : lorsqu'un objet comporte ainsi plusieurs constructeurs (ou plusieurs méthodes de même nom en général), on parle de polymorphisme. |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="AppletEllipse1.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.