Exam on Object-Oriented Programming

Programming, Java, Object-Oriented Design · exam

Voir tous les documents en programmation

ÉCOLE SUPÉRIEURE D’ÉCONOMIE NUMÉRIQUE,

UNIVERSITÉ DE MANOUBA

EXAMEN PRINCIPAL

Module

Programmation orientée Objet

Niveau

2 eme LFIG, TSI et ECOM

Durée

1h 30

Problème :

On propose de construire une petite application pour la gestion de personnel pour une petite société. Soit la

conception objet suivante d’une partie de l’application. Répondre aux questions ci-dessous en utilisant le

langage JAVA sachant que la visibilité de tous les attributs est privée.

Remarque: vous pouvez utiliser n’importe quelle méthode affichée dans ce diagramme sans donner son

code source (supposer que la méthode est déjà définie).

1

Donner le code source de la déclaration de la classe Contrat et la déclaration de ses attributs

Publicité

Classe Contrat (5pts)

1.

(visibilité privée).

2. Donner le code source d’un constructeur de la classe Contrat permettant de créer un contrat vide.

3. Donner le code source d’un deuxième constructeur de la classe Contrat permettant d’initialiser tous ses

attributs par des valeurs passées en paramètre.

4. Donner les conditions nécessaires permettant de créer des méthodes ayant les mêmes noms. Quel est le

nom de cette notion orientée objet ?

Donner le code source de la méthode SaisirContrat() permettant de donner la main à l’utilisateur

5.

pour saisir les informations relatives à un contrat.

Classe congé (6 pts)

Donner le code source de la déclaration de la classe abstraite Conge et la déclaration de ses attributs

Donner ensuite le code source de l’interface OperationConge.

Est-ce que la déclaration de la méthode abstraite VerifierConge () est obligatoire dans la classe

6.

(visibilité privée) sachant que cette classe implémente une interface OperationConge.

Publicité

7.

8.

Conge sachant que cette méthode est définie dans l’interface OperationConge ? pourquoi ?

9.

relatives à un congé.

10.

11.

spécifiant le nombre de jour sucessive d’un congé (Date Fin de congé – Date Début de Congé)

Donner le code source des accesseurs (get et set) des attributs de la classe Conge.

Donner le code source de la méthode CalculJourConge() permettant de retourner un entier

Donner le code source de la méthode AfficherConge() permettant d’afficher les informations

Classe CongeMaladie et CongeMaternite (4 pts)

Donner la déclaration de la classe CongeMaternite et la declaration de ses attributs (visibilité

12.

privée).

13.

étend le constructeur par défaut de la classe Conge.

Publicité

Donner le constructeur CongeMaternite() qui permet de créer un objet CongeMaternite Vide et qui

Donner le code source de la méthode AfficherConge () de la classe CongeMaternite qui permet

14.

d’étendre la méthode AfficherConge () de la classe Conge.

Donner le code source de la méthode VerifierConge () de la classe CongeMaternite permettant

15.

de retourner « true » si l’employée est de sexe Féminin, le nombre de jour de congé ne dépasse pas le

nombre maximum de jour pour ce type de congé et le type de contrat est ‘’CDI’’.

Classe listConge (5pts)

Chaque instance de cette classe contient la liste des congés bénéficiés par tous les employés durant une

une seule année. Un employé peut bénéficier de plusieurs congés en une seule année. L’attribut

NombreDeCong permet d’indiquer le nombre de congés pour une seule année et il est mis à jour à chaque

ajout d’un nouveau congé.

2

Donner le code source du constructeur ListCong( int annee) qui permet de créer une nouvelle

16.

liste de congés contenant un tableau pouvant contenir 1000 congés (maternité et maladies) et avec un

Publicité

nombre de congés initial égal à 0.

17.

à la liste des congés et ensuite mettre à jour le nombre des congés. Le congé C doit être « valide » pour

l’ajouter à la liste. Sinon un message d’erreur sera affiché à l’écran.

Donner le code source de la méthode AjouterUnCong(Conge C) qui permet d’ajouter le congé C

18.

somme des nombres des jours de tous les congés bénéficiés par l’employé E durant une année.

Donner le code source de la méthode CalculCongeEmp(Employe E) qui permet de retourner la

19.

Donner le code source d’une méthode main() qui permet :

  • Créer une nouvelle liste de congés « TAB2017 » pour l’année 2017.
  • Créer un nouveau congé de maladie « C1 » pour l’employé « E1 » du 01/02/2017 au 03/02/2017 dont la

motif de la maladie est ‘’grippe’’.

  • Créer un nouveau congé de maternité « C2 » pour l’employé « E2 » du 01/03/2017 au 30/03/2017.
  • Ajouter les deux congés C1 et C2 à la liste des congés « TAB2017 ».

3