Classe Abstaite Et Interface
Classe Abstaite Et Interface
Classe Abstaite Et Interface
Page 1
Classe abstraite
import java.io.* ;
abstract class Vehicule
{
private int nbrPassager ;
private int nbKlm ;
// constructeurs + accesseurs
n Une classe abstraite n'est utilisable que comme classe de base par d'autres
classes.
n Toute tentative de création d'objet à partir d'une telle classe provoque une
erreur :
Vehicule unVehicule;
unVehicule = new Vehicule (); // erreur
n Toute classe contenant au moins une méthode abstraite est considérée comme
abstraite et définie comme telle à l’aide du qualificatif abstract.
n Une classe dérivée d'une classe de base abstraite doit fournir une définition
pour chaque méthode déclarée abstraite, ou redéclarer ces méthodes
abstraites.
n On veut réaliser un jeu qui consiste à afficher les caractéristiques d’un animal.
L’utilisateur doit deviner le nom de l’animal.
import java.io.* ;
class Demo
{
public static void main (String args [ ])
{
Animal archeDeNoe [ ] = new Animal[3];
archeDeNoe[0] = new Lion ( );
archeDeNoe[1] = new Baleine ( );
archeDeNoe[2] = new Raie ( );
interface UneInterface
{
public void methode1(); // méthode abstract implicite
public String methode2 ( int val );
}
n Une interface sert de support de création pour les classes. Elle définit les
signatures des messages que doivent respecter les classes.
n Une classe qui implémente une interface doit donner un sens à l’ensemble des
méthodes de l’interface ou requalifier les méthodes d’abstraites.
copyright ©Thierry Douchet
14
Janvier 2006
Exemple
import java.util.* ;
class Orchestre
{
private ArrayList listeMusicien ;
n L’héritage multiple n’est pas disponible en Java, mais une classe peut hériter
d’une classe et implémenter une interface :