Vous êtes sur la page 1sur 51

FORMATION  JAVA

Formateur : Dr. GOORE BI Tra ‐
(+225) 07 90 39 73  goore@inphb.edu.ci

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 1
Formation Java
 Contenu
 Eléments de base: Classes, Objets, Héritage et 
Paquetage
 Gestion des erreurs: Les Exceptions
 Flux d’Entrée  ‐ Sortie
 Interface Graphique Utilisateur: Awt/swing
 Applet
 Communication Réseau
 Programmation parallèle: Les Thread
 Accès aux bases de données
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 2
Introduction

 Principales caractéristiques
 Plate‐forme et langage Java issus d’un projet de Sun 
Microsystems datant de 1990
 Langage orienté objet avec syntaxe similaire à celle du 
langage C/C++.  
 Langage «full object » : tout est objet
 Langage orientée programmation réseau
 Langage multitâche ou multi‐activité (multi‐thread)

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 3
Introduction
 Principales caractéristiques
 Langage Portable
Code Source Java

Compilateur Compilateur  Compilateur 


Windows Linux MAC OS

BYTE CODE

Machine Virtuelle  Machine  Machine Virtuelle  


Windows (JVM)
( ) Virtuelle Linux MAC OS
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 4
Introduction

 Environnement Java 
 Un langage de programmation  
 Une machine virtuelle  (JVM)
 Un ensemble de classes standards réparties dans des 
API (Application Programming Interface)
 Un ensemble d’outil (javadoc, jar, etc.)

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 5
Introduction

 Environnement de Développement intégré (IDE)
 JCreator
 BlueJ
 NetBeans
 Eclipse
 CodeWarrior (Metrowerks)
 Jbuilder
 jDeveloper
 Visual J++ 
 Visual Café 
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 6
Introduction

 Les plateformes JAVA 
 JavaCard
• Applications liées aux cartes à puces et autres SmartCards.
 Java 2 Micro Edition (J2ME)   Java ME (version 6)
• Applications mobiles
• Terminaux portables: téléphones, PDAs, TV box, …
 Java 2 Standard Edition (J2SE)   Java SE (version 6)
• Postes clients: applications autonomes, applets, …
• Bases nécessaires pour JEE
 Java 2 Entreprise Edition (J2EE)  java EE (version 6)
• Applications serveurs.
• Solutions pour les entreprises : E‐commerce, E‐business
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 7
Structure de donnée de base

type signification taille en octet


char Caractère Unicode 2
byte Entier très court 1
short Entier court 2
int Entier 4
long Entier long 8
float Nombre réel simple 4
double Nombre réel double 8
boolean Valeur logique 1

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 8
Les tableaux

 Tableaux unidimensionnels
 Déclaration
• Type  [] nomTableau;
• Type nomTableau[];
 Création du tableau avec « new »
• nomTableau = new  type  [tailleTableau];
 Exemple
• Int [] nomTableau;
• nomTableau = new int [15];
 Obtention de la taille du tableau
• nomTableau.lengh;
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 9
Les tableaux

 Tableaux multidimensionnels
 Déclaration
• Type  [][] nomTableau;
• Type nomTableau[][];
 Création du tableau avec « new »
• nomTableau = new  type  [m][n];
 Exemple
• Int [][] nomTableau;
• nomTableau = new int [5][3];

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 10
Les tableaux

 Exemples d’initialisation à la création
 Tableau à une dimension
int [] tab = {1, 2, 3, 4, 5};
 Tableau à deux dimensions
int [][] matrice = {
{ 1, 2, 3 4 5},
{6,7,8,9,10},
{11, 12, 13, 14, 15},
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 11
Les structures de Contrôle

 Structure alternative
if (i==0)
k = k+1;
if (condition)
else {
action1 ;
j++;
else
k=j;
action2;
}
 Choix multiple
switch ( expression) switch ( choix )
{ {
case valeur1: action1; break; case 2: k=1; break;
case valeur2: action2: break; case 3: k=3: break;
default: .... default: k = 6;
} }

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 12
Les structures de Contrôle

 Structure Tantque int i=2, j=10;


while (i<j)
{
while (condition) i++;
action; j++;
}

 Repeter Jusqua int i=2, j=10;


do
do i++;
action; j++;
while (condition); while (i<j);

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 13
Les structures de Contrôle

 Boucle Pour
for (expr1; expr2; expr3)
action;
 expr1: conditions de départ (plusieurs initialisation possibles séparées par des 
virgules).
 expr2: la boucle est effectuée tant que cette condition est vérifiée (évaluation 
avant action)
 expr3: actions à faire à chaque fin de boucle (plusieurs instructions possibles 
séparées par des virgules)
int i, j;
for (i=2,j=10; i<5 && j>2; i++, j‐‐)
{
System.out.println(‘ i= ‘+i+ ‘ j=‘+j);
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 14
Classes et Objets

 Notion de classe
 Une classe définit une collection d'objets ayant la 
même structure et le même comportement. 
 C'est un modèle à partir duquel sont engendrés des 
objets, appelés instances de la classe. 
 Deux instances d’une classe ne diffèrent que par la 
valeur de leurs données privées.

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 15
Classes et Objets

 notion d’objet
 Un objet est une entité renfermant des données 
privées  et un ensemble d’opérations manipulant ces 
données.
 Un objet est utilisé selon le principe de l’encapsulation
• Le programmeur utilisant l’objet sait comment utiliser 
l’objet, mais ne voit pas la manière dont l’objet est construit.

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 16
Classes et Objets

 Exemple: Objet Fenetre
Taille de la fenêtre: lx et ly
Position de la fenêtre: x et y Partie privée

initialiser()
deplacer()
renvoieLargeur() Interface
renvoieHauteur()
afficher()

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 17
Classes et Objets
Taille : lx et ly
Position: x et y
initialiser()
deplacer()
renvoieLargeur()
renvoieHauteur()
afficher()

x= 10; y= 20 x= 0; y= 0 x= 3; y= 37


lx = 5; ly = 8 lx = 15; ly = 18 lx = 30; ly = 25
initialiser() initialiser() initialiser()
deplacer() deplacer() deplacer()
renvoieLargeur() renvoieLargeur() renvoieLargeur()
renvoieHauteur() renvoieHauteur() renvoieHauteur()
Afficher() Afficher() Afficher()
Fenetre 1 Fenetre 2 Fenetre 3
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 18
Classes et Objets
 Déclaration d’une classe
class « NomClass » { 
« variables d’instances » ; 
« constructeurs »; 
« méthodes »
[ public static void main(String args[]) 

« instruction » 
} ] 
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 19
Classes et Objets

 Constructeur d’une classe
 Méthode particulière de la classe appelée implicitement 
lors de la déclaration d’un objet de la classe
 Permet d’initialise les variables d’état de l’objet à créer.
 Ne retourne jamais de valeur
 Porte le nom de la classe
 Une classe peut avoir plusieurs constructeurs

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 20
Classes et Objets

Exemple 1
class Fenetre { int renvoieHauteur() {
int x, y; return ly;
int lx, ly; }
Fenetre(){
x=0;y=0; void afficher() {
lx=5; ly=10; System.out.println(‘’x=‘’+x+’’ y=‘’+y+ ’’
}; lx=‘’+lx+’’ ly=‘’+ly);
Fenetre(int X, int Y, int LX, int LY){ }
x=X; y=Y; lx=LX; ly=LY;
};
void deplacer(int X, int Y) { public static void main(String args[])
x=X; y=Y; {
} Fenetre f = new Fenetre();
int renvoieLargeur() { f.afficher();
return lx; }
} }
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 21
Classes et Objets

 Exemple 2
class Point { void afficher(){
float x, y;
String s;
Point () {
x = y = 0;
s = new String();
}; System.out.println("Le point est
Point(double abs, double ord){ en (" + x + "," + y + "));
x = abs; }
y = ord; public static void main(string
}; arg[])
Point (Point p){ {
x=p.x;y=p.y; Point point = new Point(3.2,6);
}
point .afficher();
void deplacer (double dx, double dy){
x = x + dx;
}
y = y + dy; }
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 22
Classes et Objets

 La clause this
 This fait référence à l’objet en cours :
 Suivi d’un point, il permet d’accéder à une méthode ou un 
attribut de l’instance
 Avec des paramètres, This (<paramètre>)
• permet d’appeler une méthode constructeur.
• This ne peut être utilisée qu’en première instruction dans un corps de 
constructeur
 Exemple
Point (int x, int y) {
this.x = x ;
this.y = y ;
}
Point(int x, int y, int coul){
this(x,y);
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 23
Classes et Objets

Variable de classe: propre à une classe
 Indépendant d’un objet
 Un seul exemplaire de la variable quelque soit le nombre 
d’instanciation. 
 static <attribut>
 Méthode de classe
 Méthode de classe, appliquée à la classe et non à l’objet.
 static <méthode>
 Accès à une variable ou méthode de classe
 nom‐classe.variable();
 nom‐classe .methode();

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 24
Classes et Objets

 Exemple 3 int nombre{


class Point { return cpt;
float x, y; }
static int cpt;
static int compter{
Point () {
x = y = 0; cpt++;
return cpt;
}; }
Point(double abs, double ord){ public static void main(string arg[])
x = abs; y = ord; cpt++; {
}; Point point = new Point(3,6);
Point (Point p){ point .afficher();
x=p.x;y=p.y; System.out.println("nombre de point =
}
"+point.nombre());
void deplacer (double dx, double dy){
x = x + dx; y = y + dy;
System.out.println("nombre de point =
}; "+Point.compter()); }
void afficher() { }
System.out.println("Le point est en (" + x + "," +
y + "));
}
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 25
Classes et Objets

 Déclaration de constante: La clause «final»
 final « Variable locale »  constante
 final « Attribut d’instance »  constante
 final « Méthode d’instance »  méthode non 
surchargeable et non redéfinissable.
 final « Classe »  ne peut avoir de sous classe

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 26
Héritage

 Héritage 
 Mécanisme qui permet d’adapter par réutilisation d’une 
classe existante pour en construire une autre. 
 Dans une hiérarchie d'héritage, les objets sont liés par la 
relation « est un » ou « est une sorte de ».
 Les sous classes sont appelées des classes dérivées ou 
classes filles et les classes réutilisée sont appelée les 
classes de base ou classe mère ou super classe.
 Déclaration
class « NomClasseDerivee »  extends « NomClasseBase »
{…
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 27
Héritage

 Exemple d’Héritage
Personne
String  nom;
int age;

Salarie
Salaire

class Salarie extends Personne


{…
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 28
Héritage

 La clause super
 Fait référence à la classe de base de l’objet. 
 Suivi d’un point, il permet d’accéder à une méthode 
ou un attribut de l’instance de la classe de base. 
 Avec des paramètres, super (<paramètre>),
• Il appelle un constructeur déclaré par la classe de base de 
l’objet en cours. 
• super ne peut être utilisé qu’en première instruction dans 
un corps de constructeur

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 29
Héritage

 Exemple
class Personne { class Salarie extends Personne {
String nom; int salaire;
int age; Salarie (String nom, int age,int
Personne (Stringn nom,int age) {  sal) {
this.nom=nom;  super(nom,age); 
this.age=age;} salaire=sal;
}; };
int prime() { 
return 5*salaire*age/100;}
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 30
Classe abstraite

 Classe abstraite
 Classe non destinée à être instanciée
 Ses méthodes sont redéfinies par les classes dérivées. 
 Elle sert notamment à réaliser le polymorphisme
 Notion de polymorphisme
 Une structure de données polymorphe peut contenir 
des objets de classes différentes, pourvues que ces 
classes soient issues de la même classe de base
 Une méthode polymorphe peut être appelée par des 
objets de classes différentes.
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 31
Classe abstraite

 Déclaration d’une classe abstraite
abstract class « Nom‐Classe»
{…
abstract methode1 ();
void methode2(){};
}
 Une classe dérivée sera abstraite si certaines 
méthodes abstraite ne sont pas redéfinies
 Une classe dérivée d’une classe non abstraite peut 
être abstraite
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 32
Classe abstraite

 Exemple class Rectangle extends Figure {


double lx; double ly;
Rectangle(Point position,double lx,double ly) {
super(position); this.lx=lx; this.ly=ly;
}
abstract class Figure { double perimetre() {
Point orig; return 2*(ly+ly);}
}
Figure(Point point) {
orig=new Point(point); class Cercle extends Figure {
private static final double pi=3.14;
} double rayon;
abstract double  Cercle(Point centre, double r) {
super(centre); rayon=r;
perimetre();
}
}; double perimetre() {
return 2*pi*rayon;}
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 33
Classe abstraite

 Exemple  (suite)
else {
class TestFigure { Rectangle rectangle = new
public static void main(String arg[])  Rectangle(p, i, 2*i);
tab[i] = rectangle;
{ }
Figure tab[] = new Figure[10]; }
for (int i=0 ;i<10;i++) { for (int i=0 ;i<10; i++) {
System.out.print(" "+i);
Point p=new Point(0,i); tab[i].afficher();
if (i%2==0) { }
}
Cercle cercle = new Cercle(p, i); }
tab[i] = cercle;
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 34
Interface

 Interface
 Classe abstraite, sans constructeur
 Toutes les variables internes sont des constantes 
explicitement ou implicitement static et final
 Toutes les méthodes sont explicitement ou implicitement 
abstraites et publiques
 Une classe qui implémente une interface donne un corps à 
toutes les méthodes de l'interface
 Une interface peut étendre une ou plusieurs interfaces
 Une classe peut implémenter une ou plusieurs interfaces 

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 35
Interface

 Déclaration
interface «nom‐interface» [extends «nom‐interface‐
base»]
{
}

class «nom‐classe»  implements «nom‐interface»


{
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 36
Interface

 Exemple
interface Figure { class Rectangle implements Figure {
double perimetre(); Point position;
}; double lx; double ly; 
class Cercle implements Figure { Rectangle(Point p,double lx,double ly) {
Point centre; coin=new Point(p); this.lx=lx; this.ly=ly;
double rayon; }
private static final double pi=3.141592; public double perimetre() {return 
Cercle(Point c, double r) {centre=new Point(c);  2*(lx+ly);}
rayon=r;} }
public double perimetre() {return 2*pi*rayon;}
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 37
Classe anonyme

 Classe anonyme
 Classe dérivée sans nom, servant à redéfinir des méthodes 
ou à ajouter des méthodes ou des variables d'instances à 
une classe de base 
 Elle est déclarée et instanciée à  l’instanciation de la classe 
de base
 Une classe anonyme n’a pas de constructeur
 L’instanciation est unique et fait appel au constructeur de 
la classe de base.
 Syntaxe
ClasseBase cb = new ClasseBase ([Liste d'arguments]) 
{ // Instructions de la classe anonyme... 
};

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 38
Classes anonymes

 Exemple
public static void main(String args[])  { 
Fenetre fen = new Fenetre (0,0,10,20) {
Fenetre String titre = "Fenetre avec Titre";
void afficher() {
super.afficher();
System.out.println(titre);
}
String titre = ‘’Fenetre avec titre’’; } ;
afficher() { fen.afficher();
super.afficher(); }
System.out.println(titre);
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 39
Paquetage

 Paquetage
 Regroupement de classes suivant un centre d’intérêt 
commun 
 Porte le nom du répertoire qui l'accueille.
Exemple de paquetage
 java.lang : classes de base de Java
 java.util : utilitaires, collections
 java.io : entrées‐sorties
 java.awt : interface graphique
 javax.swing : interface graphique avancée
 Java.io.IOException: Gestion des exceptions
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 40
Paquetage

 Création d’un package
 package  nom_paquetage ; 
 Exemple
• package TP.TP1;

 Le nom doit être le répertoire de localisation
 Dans le cas où il existe une classe publique dans le 
paquetage, le fichier contenant le paquetage doit 
porter le nom de cette classe publique.

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 41
Paquetage

 Exemple: Création  d’un Paquetage
package TP.TP1;
public class point {
float x, y;
public point (){};
public point (point p){}
public point (float x, float y){};
public  deplacer (float x, float y){};
public void afficher() {}
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 42
Paquetage

 Compilation d’un fichier utilisant un paquetage
 javac [–d   repertoire_racine_Package] programme.java
 L’option –d crée et place automatiquement les classes 
du paquetage dans le répertoire portant son nom à 
partir d’un répertoire racine.

C:\JAVA\TP\> javac –d    C:\JAVA   Point.java

 Le package sera dans C:\JAVA\PACK\TP1

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 43
Paquetage

 Utilisation du paquetage
 Plusieurs façons d’accéder à un paquetage
• Désigner les objets précédés du nom du paquetage 
– projet.fenetre.Fenetre.f.afficher() 
• importer une classe ou tout le paquetage
– import nom_package.nom_classe ;
– import nom_package.* ;

 Exemple
import  PACK.TP1.*;

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 44
Paquetage

 Utilisation du paquetage
 Java trouve automatiquement le paquetage par une 
recherche à partir des répertoires spécifié dans la variable 
d’environnement «classpath»
 Le répertoire de recherche peut être également spécifié 
par l’option –cp (classpath)
javac –cp «rep1»;«rep2»  programme.java
javac –cp c:\java  figure.java
( figure.java utilise le package PACK.TP1) 
L’option –cp est également utilisé pour l’exécution
java –cp c:\java;.   TestFigure
Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 45
Paquetage

 Variable d’environnement PATH et CLASSPATH 
 La variable PATH contient les répertoires dont les 
programmes exécutables peuvent être lancés à partir 
de n’importe quel répertoire.
 La variable CLASSPATH contient les répertoires à partir 
duquel java recherche les packages.
 Sous Windows, en ligne de commande
• PATH=%PATH%;répertoire
• Set CLASSPATH=%CLASSPATH%;répertoire
• Ces variables peuvent être renseignées dans les paramètres 
systèmes avancés

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 46
Paquetage

 Accessibilité des variables et méthodes
Variables, méthodes d’une classe

Public Protected Par défaut Private

Dans la même classe OUI OUI OUI OUI

Une autre classe du même package OUI OUI OUI NON

Une classe extérieure au package OUI NON NON NON

Une sous classe du même package OUI OUI OUI NON

Une sous classe extérieur au package OUI OUI NON NON

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 47
abstract Figure
abstract surface();

Rectangle Triangle
Cercle Trapeze
Double surface(){}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 48
Exercice
abstract class Figure {
Point orig;

Figure(Point point) {
orig=new Point(point);
}
abstract double perimetre();
abstract double surface();
abstract void afficher();
};

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 49
Exercice
class Rectangle extends Figure {
double lx; double ly; 
Rectangle(Point position,double lx,double ly) {
super(position); this.lx=lx; this.ly=ly;
}
double perimetre() {
return 2*(lx+ly);
}

double surface() {
return lx*ly;
}

void afficher(){
System.out.println(" Rectangle\n");
}
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 50
Exercice
class Espace {
Figure tab[]; Figure retirer(){
int taille;
return tab[sommet‐‐];
int sommet;
}
Espace(int taille)
{ double surface(){
sommet =‐1; double s;
this.taille=taille; s=0;
tab = new Figure[taille]; for (int i=0; i<sommet; i++)
} s = s+tab[i].surface();
return s;
void ajouter(Figure f){
tab[++sommet]=f;
}; }
}

Dr. GOORE BI Tra                                   Tel: (+225) 07 90 39 73                              Email: goore@inphb.edu.ci 51