Diagramme de Classes
Employe.java
public class Employe {
private String nom;
private int age;
private float salaire;
/*Constructeur pardéfaut*/
public Employe() { }
/*Constructeur avec 3 paramètres*/
public Employe(String nom, int age, float salaire) {
this.nom = nom;
this.age = age;
this.salaire = salaire;
}
/*constructeur par copie*/
public Employe(Employe oldEmploye) {
nom = oldEmploye.nom;
age = oldEmploye.age;
salaire = oldEmploye.salaire;
}
/*mutateurs (modificateurs) */
public void setNom(String nom) {
this.nom = nom;
}
public void setAge(int age) {
this.age = age;
}
public void setSalaire(float salaire) {
this.salaire = salaire;
}
/*accesseurs (recupérateurs) */
public String getNom() {
return (this.nom);
}
public int getAge() {
return (this.age);
}
public float getSalaire() {
return (this.salaire);
}
/*toString*/
public String toString() {
return nom+"\t"+age+"\t"+salaire;
}
public void afficher() {
System.out.println(toString());
}
public void augmentation(float a) {
salaire=salaire+a;
}
Technicien.java
public class Technicien extends Employe {
private byte grade;
public Technicien(String nom, int age, float salaire, byte grade)
{
super(nom,age,salaire);
this.grade=grade;
}
public int prime() {
switch(grade)
{
case 1: return 100;
case 2: return 200;
case 3: return 300;
}
return 0;
}
public float calculSalaire()
{return getSalaire()+prime();}
public String toString() {
return super.toString() + "\t" +grade;
}
}
/*******************************************/
TestEmpTech.java
class TestEmpTech
{
public static void main(String args[])
{
Employe e1=new Employe("Albert",28,4500);
Employe e2=new Technicien("Bernard",50,8000,(byte)5);
//Technicien e3 =new Employe(); //erreur
Technicien e3 =new Technicien("Jacques",25,5000,(byte)4);
System.out.println("Avant augmentation:");
e1.afficher();
e2.afficher();
e3.afficher();
e1.augmentation(600);
e2.augmentation(500);
e3.augmentation(650);
System.out.println("Apres augmentation:");
e1.afficher();
e2.afficher();
e3.afficher();
}
}
Voir l'éxercice