Programmation Orientée Objet Date 11/01/2016 Enseign Ant Chiheb-Eddine Ben N'Cir Et Zeineb Elkhalf Durée 2H

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

ECOLE SUPÉRIEURE D’ECONOMIE NUMÉRIQUE, UNIVERSITÉ DE

MANOUBA

EXAMEN : SESSION PRINCIPALE

Module Programmation Orientée


Date 11/01/2016
Objet
Enseign Chiheb-Eddine Ben N’Cir
Durée 2h
ant et Zeineb ElKhalf

NB : Merci de respecter l’ordre des questions. Laisser du « blanc » si vous n’avez pas de
réponse pour une question.

Exercice 1 : Donner les réponses justes. (5pts)

1/ Un constructeur: c) variable d'interface


d) variable locale
a) est une méthode qui ne possède
pas de paramètres 4/ Un objet
b) est une méthode sans type de
retour a) est une variable en mémoire
c) est exécuté seulement une fois, b) doit avoir obligatoirement un
au démarrage du programme type
d) est exécuté pour déclarer un c) est un ensemble de variables
objet en mémoire primitives ( int, char, ..) définit
e) est utilisé pour instancier l'objet dans la classe « Object »
à sa création d) est une instanciation d’une
classe
2/ Si la classe B est une extension de la e) est obligatoirement créé à partir
classe A par héritage: d’une classe
a) les attributs publics de A sont 5/ Une classe abstraite:
accessibles directement dans la
classe B a) est une classe qui est
b) les attributs privés de A sont obligatoirement déclarée avec le
accessibles directement dans la mot clef « abstract »
classe B b) doit contenir toujours (au
c) les méthodes publiques de A moins une) des méthodes
sont accessibles dans B. abstraites si elle est déclarée
d) on doit obligatoirement avec le mot clef « abstract »
redéfinir les méthodes de B c) peut ne pas contenir des
dans A méthodes abstraites si elle est
e) on ne peut pas redéfinir les déclarée avec le mot clef
méthodes de B dans A « abstract »
d) Peut être instanciée en utilisant
3/ Un attribut « static » est aussi appelé: un de ses constructeurs
e) Peut être utilisé comme « type »
a) variable d'instance d’objets lors de leur déclaration.
b) variable de classe

1
Exercice 2 : (15pts)

On propose de construire une petite application pour une agence de location immobilière.
L’activité de l’agence consiste à louer des maisons et des appartements aux locataires.
L’immobilier à louer possède un numéro séquentiel, attribué automatiquement lors de l’ajout
d’un nouvel immobilier, le nom de la ville où situé l’immobilier, une personne propriétaire,
une surface en m2 et une description de l’état actuel de l’immobilier (oui=libre, non= loué)
indiquant si l’immobilier est libre ou non. Les immobiliers à louer peuvent être des
appartements ou bien des maisons. Un appartement est caractérisé par le nom de la résidence,
le numéro de l’étage et le numéro de l’appartement alors que la maison est caractérisée par le
nom de la rue et le numéro de la maison.

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

Interface :
OperationImmobilier
Class : Personne
Nom : String SaisirImmo()
Contact : String AfficherImmo()

Class :: Immobilier
Numero int(auto)
SaisirDetailPersonne Ville : String
() Numero : int(auto)
Surface
Ville : int
: String
AfficherDetail()
Surface : int
Etat: boolean
Etat: boolean
Proprietaire : Personne
Proprietaire :
Personne
SaisirImmo()
AfficherImmo()

Class : Class : Maison


Appartement
Rue : String
Residence : numMaison : int
String
Etage : int
NumApp : int SaisirImmo()
SaisirImmo() AfficherImmo()
AfficherImmo()
Classe Personne :
1) Déclaré les attributs (visibilité privé) de la classe Personne.
2) Donner le code source du constructeur Personne (String Nom, String Contact).
3) Est-ce que le constructeur par défaut de la classe personne reste disponible après la
définition du constructeur ci-dessus. (question 2). pourquoi ? Redéfinir alors le
constructeur par défaut de la classe personne.
4) Il est possible de définir deux constructeurs (ou bien d’une manière générale deux
méthodes) dans la même classe ayant le même nom. Qu’appelle-t-on ce principe en
programmation orientée objet ? quelles sont les conditions nécessaires à satisfaire pour
définir deux méthodes ayant le même nom ?
5) Donner le code source de la méthode AfficherDetail( ) permettant d’afficher les
informations relatives à une personne.

6) Donner le code source de la méthode SaisirDetailPersonne() permettant de donner la


main à l’utilisateur pour saisir le Nom et le Contact d’une personne.

7) Donner le code source des accesseurs (set et get) de chaque attribut déclaré dans la
classe Personne.

8) Est-ce que la définition des accesseurs est obligatoire dans la classe Personne.
Pourquoi ?

Classes : Immobilier, Appartement et Maison


9) Donner le code source de la déclaration des attributs (visibilité privé) de la classe
Immobilier.

10) Donner le code source du constructeur de la classe « Immobilier » qui permet de créer
un nouvel immobilier vide en initialisant le numéro de l’immobilier (numéro
séquentiel) et en initialisant les autres attributs à « 0 » ou bien « null » ou bien
« false » si c’est un type booléen. (vous pouvez ajouter d’autres attributs à la classe
Immobilier si c’est nécessaire).

11) Donner le code source de la méthode « AfficherImmo » dans la classe « Immobilier »


qui permet d’afficher les informations relatives à un immobilier.

12) Sachant que les classes « Appartement » et « Maison » héritent de la classe


« Immobilier », donner le code source de la redéfinition de la méthode
« AfficherImmo » dans chacune des ces classes.
Classe Application
On suppose que nous avons une classe « Application » qui contient une méthode
main(). On suppose aussi que toutes les méthodes dans les classes « Personne »,
« Immobilier », « Maison » et « Appartement » sont déjà définis.
13) En se basant sur le principe du Polymorphisme, donner le code source de la méthode
main () qui permet :
1) Déclarer un tableau « Tab » de 10 Immobiliers.
2) Pour chaque Immobilier dans le tableau « Tab » :
2.1) demander à l’utilisateur s’il veut ajouter une maison ou bien un
appartement.
2.2) selon le choix de l’utilisateur : créer une nouvelle maison ou bien un
nouvel appartement.
2.3) Saisir les informations relatives à l’appartement ou bien à la maison
3) Pour chaque Immobilier dans le tableau « Tab » : afficher les informations
relatives à un immobilier.

Interface OperationImmobilier
14) Donner le code source de l’interface « OperationImmobilier » qui contient les
méthodes SaisirImmo() et AfficherImmo(). Donner aussi l’entête de déclaration de la
classe « Immobilier » qui Implémente cette interface.

Vous aimerez peut-être aussi