Académique Documents
Professionnel Documents
Culture Documents
TD JAVA
A. EL GHAZI
Série n° : 4
Exercice 1 :
On considère les définitions de classes suivantes :
class A {
void f(A o) {
System.out.println("void f(A o) dans A");
}
}
class B extends A {
void f(A o) {
System.out.println("void f(A o) dans B");
}
}
a.f(a);
a.f(ab);
a.f(b);
ab.f(a);
ab.f(ab);
ab.f(b);
b.f(a);
b.f(ab);
b.f(b);
Exercice 2 :
Dans cet exercice nous avons une classe fonctionnaire qui dérive de la classe personne et une classe
gestionnaire qui dérive de la classe fonctionnaire (on suppose que la classe fonctionnaire possède un
seul attribut salaire).
On augmente le salaire des fonctionnaires avec un pourcentage. Quant aux gestionnaires, leurs
salaires augmentent deux fois, augmentation avec les fonctionnaires plus une prime de gestion.
1
SUPMTI - 2022-2023
TD JAVA
A. EL GHAZI
Série n° : 4
Classe fonctionnaire
1. Créer la classe fonctionnaire avec toutes les méthodes et attributs nécessaires.
2. Ajouter la méthode void augmenterSalaire (int pourcentage) qui augmente le salaire des
fonctionnaires avec un certain pourcentage.
Classe Gestionnaire
1. Redéfinir les constructeurs et la méthode augmenterSalaire dans la classe gestionnaire.
Exercice 3 :
Les exemples suivants sont-ils corrects ?
Exemple 1 :
class A {
public void f() { System.out.println("Bonjour."); }
}
class B extends A {
private void f() { System.out.println("Bonjour les amis."); }
}
Exemple 2 :
class A {
public int f(int a) { return a++; }
}
class B extends A {
public int f(int a, int b) { return a+b;}
}
class test {
A obj = new B();
int x = obj.f(3);
int y = obj.f(3,3);
}