Vous êtes sur la page 1sur 6

Institut Supérieur des Sciences Appliquées et Technologie de Mahdia

Correction du Devoir
surveillé
Java Programmation et
Analyse
Niveau 2eme : L-TIC Enseignante: Nissaf Fredj Année: 2022/2023

Questions de cours (6 PTS) voir cours

 Définir la notion d’héritage entre les classes.


 Définir la notion de surcharge.
 Présenter la différence entre les attributs et les méthodes d’instance et les attributs et
les méthodes de classe.
 Présenter la structure de contrôle conditionnelle avec un exemple.

Exercice 1. (6 PTS)

Classe Bâtiment

1. class Batiement
2. {
3. private string adresse;
4.
5. public string getAdresse()
6.
7. { return adresse; }
8. public void setAdresse( string value) { adresse = value; }
9.
10.
11. public Batiement()
12. {
13. }
14.
15. public Batiement(string adresse)
16. {
17. this.adresse = adresse;
18. }
19.
20. public string ToString()
21. {
22. return "Adresse: "+adresse;
23. }
24. }

1
Classe Maison

1. class Maison extends Batiement


2. {
3. private int nbPiece;
4.
5. public int getNbPiece()
6.
7. { return nbPiece; }
8. public void setNbPiece (int value) { nbPiece = value; }
9.
10.
11. public Maison() {
12. super() ;
13.
14. }
15.
16. public Maison(string adresse, int nb) {
17. super(adresse) ;
18.
19. nbPiece = nb;
20. }
21.
22. public string ToString()
23. {
24. return super.ToString() + " Nombre de piéces: " + nbPiece;
25. }

Classe Programme de test

class Program

static void Main(string[] args)

Batiement B = new Batiement("Tunis");

Maison M1 = new Maison("Tunis", 4);

Maison M2 = new Maison();

M2.Adresse = "Mahdia";

M2.NbPiece = 3;

2
}

Exercice 2. (8 PTS)

Classe Compte

1. class Compte

2. {

3. private int code;

4. private double solde;

5. private static int nb_comptes=0;

6.

7. public int getCode()

8. {return code;}

9. public void setCode(int value)

10. {code=value;}

11. public double getSolde()

12. {return solde; }

13. public void setSolde(double value)

14. { solde=value; }

15. public Compte(double solde, int code)

16. {

17. this.solde = solde;

18. this.code = code;

19. }

20. public void deposer(double somme) //méthode virtuelle qui peut être
redéfinie dans une classe dérivée

21. {

22. solde += somme;

23. }

24.

3
25. public void retirer(double sommme) {

26. solde -= sommme;

27. }

28.

29. public string ToString()

30. {

31. return "Code: " + code + " Solde: " + solde;

32. }

Classe CompteEpargne

33. class CompteEpargne extends Compte

34. {

35. private double tauxinteret=6;

36.

37. public double getTauxinteret()

38. {return tauxinteret;}

39. public double setTauxinteret( double value)

40. {tauxinteret= value ;}

41.

42. public CompteEpargne() {

43. super() } //constructeur par défaut

44.

45. public CompteEpargne(double solde)

46. { super(solde) } //constructeur d'initialisation

47.

4
48. public void CalculerInteret() //une nouvelle méthode qui
utilise une méthode héritée

49. {

50. deposer((solde * tauxinteret)/ 100);

51. }

52.

53. public string ToString() //redéfinition de la méthode ToString()

54. {

55. return "Compte Epargne: "+ super.ToString() +" Taux interêt: "+tauxinteret ;

56. }

57. }

Classe Programme de test

class Program

static void Main(string[] args)

Compte C1 = new Compte();

CompteEpargne C2 = new CompteEpargne();

C1.deposer(10000);

C2.deposer(2000);

C1.retirer(2000);

C2.retirer(500);

C2.CalculerInteret(500,6);

5
6

Vous aimerez peut-être aussi