| 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.
| Cette section vous intéresse ? Abonnez-vous ! |
|