Exercice Visual Basic : Examen Passage 2007 TSDI Variante 7 Orienté Objet

L’application qui doit être développée doit gérer le système d'information d'un hôtel. Cette application contiendra les classes suivantes : Hotel, Chambre, Personnel, Client, Reservation, et autres classes

Remarque : utilisez l’encapsulation et l’héritage chaque fois que possible.

Pour chaque classe, écrivez la méthode String toString()

1) Ecrivez une classe Hotel, un hôtel possède un nom, une adresse, une ville et un dirigeant qui fait parti du personnel d’hôtel (2 Pts)

2) Écrivez une classe nommée Personne (qui ne peut être instanciée) pour représenter une personne en général (Personnel ou client). (2 Pts)

3) Ecrivez une classe Personnel, qui décrit les personnels de l’hôtel, chaque personnel à un matricule, nom, prénom, adresse et fonction. (2 Pts)

4) Ecrivez une classe Client, qui décrit les clients de l’hôtel, chaque client à un numéroClient, nom, prénom, adresse. (2 Pts)

5) Ecrivez une classe Chambre qui représente les chambres de l’hôtel
Une chambre d’hôtel est décrite par : un numéro (qui ne peut être modifié), le type de la chambre (individuelle ou double), la catégorie de la chambre (confort ou luxe) et le  prix (2 Pts)

6) Ajoutez dans la classe Hotel une collection qui contiendra tous les chambres de l’hôtel. (3 Pts)

7) Tous les employés sont enregistrés dans une collection Map (java.util.Map) dont la clé est le matricule de l’employé. Ce détail d'implémentation ne devra pas être visible du dehors de l'application. (3 Pts)
On devra pouvoir ajouter un nouvel employé à la collection (personnel)
et avoir un Iterator de tout le personnel de l’hôtel.

8) Chaque chambre créée doit obligatoirement appartenir à un hôtel, modifier l’application pour tenir compte de cette assertion. (4 Pts)

9) Ajoutez des méthodes pour enregistrer dans un fichier et recharger en mémoire la collection qui contient tous les chambres, entre  2 sessions de travail. (3 Pts) 

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202Public Class chambre Inherits Hotel Private numchambre As Integer Private typech As Boolean = "individuelle" Or "double" Private categorie As Boolean = "confort" Or "luxe" Private prixch As Double ReadOnly Property _numchambre() Get Return numchambre End Get End Property Property _prixch() Get Return prixch End Get Set(ByVal Value) prixch = Value End Set End Property Property _typech() Get Return typech End Get Set(ByVal Value) typech = "individuelle" Or "double" End Set End Property Property _categorie() Get Return categorie End Get Set(ByVal Value) categorie = "confort" Or "luxe" End Set End Property Public Sub New() End Sub Public Sub New(ByVal NCh As Integer, ByVal TCh As String, ByVal CCh As String, ByVal PCh As Double) numchambre = NCh _typech = TCh _categorie = CCh _prixch = PCh End Sub Public Overrides Sub affiche() MyBase.affiche() Console.WriteLine(vbTab & _numchambre & vbTab & _typech & vbTab & _categorie & vbTab & _prixch) End SubEnd Class ----------------------------------------------------------------------------- Public Class Client Inherits Personne Private numClient As Integer Property _numclient() Get Return numClient End Get Set(ByVal Value) numClient = Value End Set End Property Public Sub New() End Sub Public Sub New(ByVal numc As String, ByVal NP As String, ByVal PP As String, ByVal AP As String) MyBase.New(NP, PP, AP) _numclient = numc End Sub Public Overrides Sub afficher() Console.WriteLine(_numclient & vbTab) MyBase.afficher() End SubEnd Class ----------------------------------------------------------------------------- Public Class Hotel Private NomH, AdresseH, VilleH, DirigeantH As String Dim al As New ArrayList Property _nomH() Get Return NomH End Get Set(ByVal Value) NomH = Value End Set End Property Property _adresseH() Get Return AdresseH End Get Set(ByVal Value) AdresseH = Value End Set End Property Property _villeH() Get Return VilleH End Get Set(ByVal Value) VilleH = Value End Set End Property Property _dirigeantH() Get Return DirigeantH End Get Set(ByVal Value) DirigeantH = Value End Set End Property Public Sub New() End Sub Public Sub New(ByVal NH As String, ByVal AH As String, ByVal VH As String, ByVal DH As String) _nomH = NH _adresseH = AH _villeH = VH _dirigeantH = DH End Sub Public Overridable Sub affiche() Console.Write(_nomH & vbTab & _adresseH & vbTab & _villeH & vbTab & DirigeantH) End Sub Public Sub addchambre(ByVal nch As Integer, ByVal tch As String, ByVal cch As String, ByVal pch As Double) al.Add(New chambre(nch, tch, cch, pch)) End SubEnd Class ----------------------------------------------------------------------------- Public Class Personne Private NomP, PrenomP, AdresseP As String Property _NomP() Get Return NomP End Get Set(ByVal Value) NomP = Value End Set End Property Property _PrenomP() Get Return PrenomP End Get Set(ByVal Value) PrenomP = Value End Set End Property Property _AdresseP() Get Return AdresseP End Get Set(ByVal Value) AdresseP = Value End Set End Property Public Sub New() End Sub Public Sub New(ByVal NP As String, ByVal PP As String, ByVal AP As String) _NomP = NP _PrenomP = PP _AdresseP = AP End Sub Public Overridable Sub afficher() Console.Write(_NomP & vbTab & _PrenomP & vbTab & _AdresseP) End SubEnd Class ----------------------------------------------------------------------------- Public Class Personnel Inherits Personne Private matricule As Integer Private fonction As String Property _matricule() Get Return matricule End Get Set(ByVal Value) matricule = Value End Set End Property Property _fonction() Get Return fonction End Get Set(ByVal Value) fonction = Value End Set End Property Public Sub New() End Sub Public Sub New(ByVal Mat As Integer, ByVal NP As String, ByVal PP As String, ByVal AP As String, ByVal f As String) MyBase.New(NP, PP, AP) _matricule = Mat _fonction = f End Sub Public Overrides Sub afficher() Console.Write(_matricule & vbTab) MyBase.afficher() Console.WriteLine(vbTab & _fonction) End SubEnd Class
Article publié le 04 Janvier 2012