Interface et classes internes
Introduction à la
gestion d’événements
Classe Interface (p. 494)
Interface: définit un ensemble de services
Définition: classe purement abstraite
• aucun attribut sauf public static final
• aucune implantation de méthodes
donc que des méthodes abstraites
// Figure 9.27 : Forme.java - Définition de l'interface Forme. P. 495
public interface Forme {
public abstract double aire(); // Calculer l'aire.
public abstract double volume(); // Calculer le volume
public abstract String getNom(); // Obtenir le nom de la forme
}
Utilisation d’une classe Interface (p. 494)
zSpécification de l’« implémentation »
zDéfinition de toutes les méthodes déclarées dans l’interface (mêmes
arguments, mêmes types de retour)
zL’implémentation est une relation « est un » comme dans l’héritage
zUne classe peut implémenter plusieurs interfaces (forme d’héritage
multiple)
zLes interfaces interviennent grandement dans la gestion des événements
d’une interface graphique
zAutre utilisation : définition de constantes utilisables dans de nombreuses
classes (ex. p.501)
public interface Constantes{
public static final int UN = 1;
public static final int DEUX = 2;
public static final int TROIS = 3;
}
Exemple (p.495)
// Figure 9.28: Point.java - // Définition de la classe Point.
public class Point extends Object implements Forme {
protected int x, y; // coordonnées du Point
public Point() { // Constructeur sans argument.
setPoint( 0, 0 );
}
public Point( int coordonneeX, int coordonneeY ) { // Constructeur.
setPoint( coordonneeX, coordonneeY );
}
// Ajuster les coordonnées en x et y du Point.
public void setPoint( int coordonneeX, int coordonneeY ){
x = coordonneeX;
y = coordonneeY;
}
Exemple - suite (p.495)
public int getX() { // Obtenir la coordonnée en x.
return x;
}
public int getY() { // Obtenir la coordonnée en y.
return y;
}
public String toString() {// Convertir le point en une chaîne
return "[" + x + ", " + y + "]";
}
public double aire() { // Calculer l'aire.
return 0.0;
}
public double volume() { // Calculer le volume
return 0.0;
}
public String getNom() { // Obtenir le nom de la forme
return "Point";
}
} // fin classe Point
1 / 23 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !