Vous êtes sur la page 1sur 8

CORRECTION DE L’ATELIER 6 : CLASSE ABSTRAITE ET

INTERFACE

Exercice1

package Test1_1;

import java.util.Date;

abstract class employe{


private int matricule;
private String nom;
private String prenom;
private Date date_Naissance;
private float prime;

public employe(int matricule,String nom,String prenom,Date date_Naissance,float


prime){
this.matricule=matricule;
this.nom=nom;
this.prenom=prenom;
this.date_Naissance=date_Naissance;
this.prime=prime;
}
public abstract float calcul_Salaire();

@Override
public String toString(){
return "\nLe matricule est : "+this.matricule+"\nMon nom est " +this.nom+"\nMon
prenom est"+this.prenom+"\nMa date de naissance est
"+this.date_Naissance.getDate()+"/"+this.date_Naissance.getMonth()+"/"+this.date_N
aissance.getYear()+"\nMa prime est "+this.prime+" Dinars";
}

public float getPrime(){


return this.prime;
}
}
enum Tgrade{
cadre,
executant
}
class Employe_salarie extends employe{
1
private Tgrade grade;

public Employe_salarie(int matricule, String nom, String prenom, Date


date_Naissance, float
prime,Tgrade grade) {
super(matricule, nom, prenom, date_Naissance, prime);
this.grade=grade;
}

@Override
public float calcul_Salaire(){
if (this.grade==Tgrade.cadre){
return super.getPrime()+700;
}
return super.getPrime()+200;
}
@Override
public String toString(){
return super.toString()+"\nJe suis un employe salarie"+"\nMon grade est
"+this.grade+"\nMonsalaire est "+(int)this.calcul_Salaire()+" Dinars";
}
public void afficher(){
System.out.println(this.toString());
}

}
class Employe_Horaire extends employe{
private int nombre_Heures_Travaillees;

public Employe_Horaire(int matricule, String nom, String prenom, Date


date_Naissance, float
prime,int nombre_Heures_Travaillees) {
super(matricule, nom, prenom, date_Naissance, prime);
this.nombre_Heures_Travaillees=nombre_Heures_Travaillees;
}

@Override
public float calcul_Salaire(){
return super.getPrime()+(this.nombre_Heures_Travaillees*2);
}

@Override
public String toString(){
return super.toString()+"\nJe suis un employe horaire"+"\nLe Nombre d'heures
travailees est "+this.nombre_Heures_Travaillees+" heures"+"\nMon salaire est
"+(int)this.calcul_Salaire()+" Dinars";
2
}

public void afficher(){


System.out.println(this.toString());
}
}
class Test1_FirasKlali {
public static void main(String[] args) {
Date d=new Date();
d.setMonth(8);
d.setYear(1980);
d.setDate(5);

Employe_salarie es=new Employe_salarie(432, "Ben Chaaben", "Ali", d,200,


Tgrade.cadre);

es.afficher();

d.setMonth(8);
d.setYear(1978);
d.setDate(5);

Employe_Horaire eh =new Employe_Horaire(400, "Saidane", "ahmed", d, 100, 192);

eh.afficher();
}
}

Exercice 3
package Ex3;

class Personne {
private String nom;
private float taille;
private int age;

public Personne(String s,int a,float t){


this.nom=s;
this.age=a;
this.taille=t;
}
public int getAge(){
return this.age;
}
public float getTaille(){
return this.taille;
}
}
interface ConditionAcces {
3
boolean accessPossible(Personne p);
String getDescription();
}

class ConditionAge implements ConditionAcces {


private int ageMin;
public ConditionAge(int age) {
this.ageMin = age;
}

public boolean accessPossible(Personne p) {


return p.getAge() >= this.ageMin;
}

public String getDescription() {


return "age limité accepté : "+this.ageMin+ " ans";
}}

class ConditionTaille implements ConditionAcces {


private float tailleMin;
public ConditionTaille(float t)
{this.tailleMin=t;}

public boolean accessPossible(Personne p)


{ boolean res=false;
if ( p.getTaille()>=this.tailleMin )
res=true;
return res;}

public String getDescription()


{return "Condition de taille minimal :"+this.tailleMin;}
}
class Jeu
{private String nom;
private float prix;
private ConditionAcces conditionJeu;

private int nbrPers;


private float recetteJeu;

public float getRecette() {


return this.recetteJeu;}
Jeu(String n,float p, ConditionAcces ca)
{this.nom=n;
this.prix=p;
this.conditionJeu=ca; }

public void utilise(Personne p)


4
{ if (this.conditionJeu.accessPossible(p))
{this.nbrPers++;
this.recetteJeu=this.nbrPers*this.prix;
}}

void afficheJeu()
{System.out.println("le nom du jeu est "+this.nom);
System.out.println("la description de la condition d'acces est
"+this.conditionJeu.getDescription());

System.out.println("la recette du jeu est "+this.recetteJeu+ " dinars");


}}

class Test
{public static void main (String args[])
{ Jeu jeu1=new Jeu("Grand huit",8,new ConditionAge(15));
Jeu jeu2=new Jeu("Serpent rouge",4,new ConditionTaille(1.2f));
Personne p= new Personne("Bennour",16,1.62f);
jeu1.utilise(p);
jeu2.utilise(p); jeu1.afficheJeu(); jeu2.afficheJeu();
}

}
Exercice4

package Ex4_1;

import java.util.ArrayList;

interface Identié {
public String sePresenter();
public boolean comparer(Object o );
}
class PersonneId implements Identié {
private String nom;
private String prénom;
public PersonneId(String n,String p)
{
this.nom=n;
this.prénom=p;
}
public String sePresenter()
{
return "Le nom est "+ this.nom+" le prénom est"+this.prénom;
}
public boolean comparer(Object o )
{ boolean res=false;
PersonneId p;
if (o instanceof PersonneId)
5
{p=(PersonneId)o;

res=(this.nom.equals(p.nom)&&this.prénom.equals(p.prénom));
}
return res;

}
}
class EntrepriseId implements Identié {
private String raisonSocial;
private PersonneId responsable;
public EntrepriseId(String rs,PersonneId res)
{
this.raisonSocial=rs;
this.responsable=res;
}
public String sePresenter()
{
return "la raison social est"+this.raisonSocial+" Le ressponsable
est"+this.responsable.sePresenter();
}
public boolean comparer(Object o )
{
boolean res=false;
EntrepriseId e;
if(o instanceof EntrepriseId)
{
e=(EntrepriseId)o;

res=(this.raisonSocial.equals(e.raisonSocial)&&this.responsable.comparer(e.respon
sable));
}
return res;
}

}
class Client {
private String adresse;
private Identié identitéClt;
public Client(String a,Identié i)
{ this.adresse=a;
this.identitéClt=i;
}
public String getAdresse()
{
return this.adresse;
}
public Identié getIdentiteClt()
{
6
return this.identitéClt;
}
public void afficheClient()
{
System.out.println("l'adresse est "+this.adresse+" l'identité est
"+this.identitéClt.sePresenter());
}
}

class AgenceBancaire {
private String nom;
private ArrayList<Client> lesClients;
public AgenceBancaire(String n)
{ this.nom=n;
this.lesClients=new ArrayList<Client>();
}
public void ajouterClient(Client nv)
{
this.lesClients.add(nv);
}
public Client getIdentité(Identié id)
{ Client res=null;
int i=0;

while(i<this.lesClients.size()&&!this.lesClients.get(i).getIdentiteClt().comparer(id))
{
i++;
}
if (i<this.lesClients.size())
res= this.lesClients.get(i);

return res;
}
public void affiche()
{
System.out.println("Nom agence"+this.nom);
for(int i=0;i<this.lesClients.size();i++)
this.lesClients.get(i).afficheClient();
}
}
class Test1 {
public static void main(String[]agrs)
{ AgenceBancaire a=new AgenceBancaire("agence 2012");
PersonneId p=new PersonneId("bahri","mohamed");
Client c1=new Client("Bizerte",p);
a.ajouterClient(c1);
PersonneId p1=new PersonneId("jouini","mouna");
EntrepriseId e=new EntrepriseId("SOTUCO SARL",p1);
7
Client c2=new Client("Tunis",e);
a.ajouterClient(c2);
a.affiche(); } }

Vous aimerez peut-être aussi