Langage JAVA
Rappel :
I. Interface
On n'y trouve uniquement, pour chaque méthode, que la définition de son profil, c'est-à-
dire son en-tête suivi de ;.
Si les interfaces permettent de déclarer des variables de référence portant leur type,
elles ne sont pas, par contre, instanciables. En particulier une interface ne possède pas
de constructeur.
Conclusion :
Le langage Java support les interfaces que vous utiliser pour définir un protocole de
comportement qui peut être implémenté par toute classe dans la hiérarchie des classe.
Page 1
M. LACHGAR Med
Exercice 1 :
Soit le diagramme de classe suivant :
IPersonne
+ affiche () : void
+ calculerSalaire () : double
Profil
Personne
- id : int
- id : int
- nom : String * - code : int
- libelle : int
- prenom : String 1..1
- dateNais : Date
- salaire : double
Sachant que :
Je suis le directeur SAlMI Karim né le 02 juin 1970 mon salaire est 20 000dh
Le directeur aura une augmentation de 20% par rapport à son salaire normal,
Page 2
M. LACHGAR Med
Exercice 2 :
Soit le diagramme de classe suivant :
IOperation
IAffichage
Complexe
- im : double Reel
- re : double - x : double
3. Redéfinir les méthodes moins (), plus () et affiche () dans la classe complexe sachant que :
Un nombre complexe est un nombre qui comporte deux parties : une partie réelle et une
partie imaginaire.
Un nombre complexe est généralement écrit sous la forme : 4+3i (partie réelle = 4 et partie
imaginaire = 3).
les parties réelles de ces deux nombres pour obtenir la partie réelle du résultat et à
additionner (soustraire) les deux parties imaginaires pour obtenir la partie imaginaire du
résultat.
Nouvelle signature :
Page 3
M. LACHGAR Med
Exercice 3 :
IOperation Affichage
{abstract}
<<implements>>
<<extends>>
Complexe
- im : double Reel
- re : double
- x : double
Page 4
M. LACHGAR Med
Correction :
Exercice 1 :
Arborescence du projet :
L’interface IPersonne :
package ma.projet.inter;
La classe Profil :
package ma.projet.bean;
Page 5
M. LACHGAR Med
La classe Personne :
package ma.projet.bean;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import ma.projet.inter.IPersonne;
La classe Test :
package ma.projet.bean;
import java.util.Date;
Page 6
M. LACHGAR Med
Résultat d’exécution :
Je suis le Employée ELALAOUI Mohamed né le 4 avril 1986 mon salaire est 9900.0 dh
Je suis le Directeur Géneral DOURID Raouan né le 24 mars 1960 mon salaire est 12000.0 dh
Je suis le Employée ALAOUI Sara né le 11 septembre 1940 mon salaire est 9020.0 dh
Exercice 2 :
Arborescence du projet :
L’interface IOperation :
package ma.projet.inter;
L’interface IAffichage :
package ma.projet.inter;
La classe Complexe :
package ma.projet.bean;
import ma.projet.inter.IAffichage;
import ma.projet.inter.IOperation;
private double im ;
private double re;
Page 7
M. LACHGAR Med
La classe Reel :
package ma.projet.bean;
import ma.projet.inter.IAffichage;
import ma.projet.inter.IOperation;
private double x;
La classe Test :
package ma.projet.bean;
}
}
Page 8
M. LACHGAR Med
Exercice 3 :
Arborescence du projet :
L’interface IOperation :
package ma.projet.inter;
La classe Affichage :
package ma.projet.abstrac;
La classe Complexe :
package ma.projet.bean;
import ma.projet.abstrac.Affichage;
import ma.projet.inter.IOperation;
private double im ;
private double re;
Page 9
M. LACHGAR Med
La classe Reel :
package ma.projet.bean;
import ma.projet.abstrac.Affichage;
import ma.projet.inter.IOperation;
private double x;
La classe Test :
package ma.projet.bean;
Page 10
M. LACHGAR Med