• Aucun résultat trouvé

iUT ORSAY

N/A
N/A
Protected

Academic year: 2022

Partager "iUT ORSAY"

Copied!
2
0
0

Texte intégral

(1)

iUT ORSAY

DUT Informatique Module JAVA Apprentis

Département Informatique 2008 / 2009

Travaux Dirigés no3 : Héritage

Objectifs : Comprendre le concept et l’utilité du mécanisme d’héritage. Sa- voir manipuler des références à des objets ayant un ancêtre commun grâce au polymorphisme de JAVA.

1 Exercice 1 : villes et capitales

On souhaite écrire une classeVilledestinée à modéliser une ville. Les attributs d’une ville sont son nom (qui ne peut pas varier) et son nombre d’habitants (qui peut varier). Les villes sont de plus classées en trois catégories :"grande"pour les plus de 500 000 habitants,"moyenne"

pour les plus de 100 000 mais moins de 500 000 habitants et enfin"petite"pour les autres.

1. Écrire une classe Ville conforme à la spécification. Les informations de nom et de nombre d’habitants devront impérativement être connues lors de la création d’instances deVille. La classe devra respecter le principe d’encapsulation et proposer une méthode de signatureString afficheInformations()qui renvoie une chaîne décrivant les in- formations d’une ville, par exempleOrsay, 16236 habitants, petite ville.

2. Une capitale est une ville contenant l’information du pays dans lequel elle se situe. Écrire une classeCapitaledestinée à modéliser une capitale. La classe devra proposer une mé- thode de signature String chaineInformations() qui renvoie une chaîne décrivant les informations d’une capitale, par exemple"Paris, 2101816 habitants, grande ville, capitale de France".

3. Écrire une classe Principale contenant seulement la méthode main où vous créerez deux objets villes de catégories différentes et un objet capitale, puis afficherez les infor- mations de ces trois villes.

2 Exercice 2 : gestion d’employés

Une entreprise possède plusieurs types de collaborateurs :

– Les employés qui sont payés en fonction du nombre d’heures qu’ils ont travaillé dans la semaine. Ils sont payés à un certain tarif horaire et leurs heures supplémentaires (au delà de 35 heures) sont payées 25% de plus.

– Les managers qui sont payés de la même façon que les employés mais dont les heures sup- plémentaires sont payées 50% de plus que les heures normales.

– Les commerciaux qui sont payés une somme fixe, équivalente à 35 heures au tarif horaire des employés, à laquelle on ajoute 1% du chiffre d’affaire qu’ils ont fait dans la semaine.

Le travail demandé est de modéliser cette situation à l’aide de classes JAVA.

1. Définissez et décrivez une hiérarchie de classes sur papier (faîtes-la vérifier par l’ensei- gnant avant de continuer).

(2)

Travaux Dirigés no3 Héritage 2/2

2. Écrivez les trois classes Employe,ManageretCommercial, modélisant respectivement les employés, les managers et les commerciaux, sachant que :

– Chaque collaborateur a un nom qui ne doit pas pouvoir être modifié.

– Chaque classe doit disposer de deux constructeurs. L’un prend seulement en paramètre le nom du collaborateur, l’autre prend le nom et toutes les informations nécessaires au calcul du salaire de la semaine.

– Dans chaque classe, le calcul du salaire se fait via une méthode dont la signature est double calculSalaire().

3. Écrivez une classe Gestioncomportant uniquement la méthodemain. Dans cette mé- thode, vous créerez plusieurs collaborateurs de plusieurs types et vous les enregistrerez tous dans un même tableau. Vous veillerez à utiliser les différents types de constructeur.

La méthodemainaffichera le salaire hebdomadaire de tout le personnel dans une boucle parcourant le tableau des collaborateurs. Pour un collaborateur donné, l’affichage aura la forme :Salaire de Gates : 2008 euros.

IUT d’Orsay – DUT Informatique 2008 / 2009 Module JAVA Apprentis

Références

Documents relatifs

Son travail est de vérifier la validité d’un numéro de carte banquaire : les clients lui envoient trois nombres, un premier de type long long int pour le numéro de carte, un second

On se propose d’écrire les codes d’un client et d’un micro-serveur utilisant les sockets de type SOCK_STREAM dans le domaine AF_INET pour établir les communications avec un

Il crée un ensemble de descripteurs, y place ceux des deux tubes, utilise la primitive select pour s’endormir en attente d’information sur l’un des deux tubes (select()

Ayant découvert la possibilité de créer plusieurs processus (et donc d’exploiter ses deux processeurs) il voulut s’en servir pour réaliser le tra- vail suivant qu’il

Utilisez comme arguments pour runame le nom de votre machine renvoyé par la commande hostname (ou utilisez le nom localhost directement), et comme numéro de port celui que vous

Mettre en place le serveur pour qu’il soit pris en compte par inetd : Quelles modifications faut-il faire dans /etc/services ?... Quelles modifications faut-il faire

Pour être en mesure de gérer les connexions en parallèle, un processus est dédié à chacune d’entre elles : dès qu’une connexion est acceptée par le serveur, un nouveau

On étend maintenant le programme de manière à ce qu’il prenne en argument un nombre quelconque de chaînes de caractères et qu’il manipule une matrice m (un tableau de tableaux)