Vous êtes sur la page 1sur 3

Université Moulay Ismail Année universitaire : 2023/ 2024

Faculté des Sciences Programmation Orienté Objet


Département d’Informatique

Série N° 3: TD/TP
Langage Java

Exercice 1 :
Soit une classe Article modélisant les produits d’un magasin
Class Article{
Protected String Designation ;
Protected double PrixHT;
Protected int Quantite;
Public Article();
Public Artice(String, double, int);
Public int getQuantite();
Public double getPrix();
Public void ajouterQuantite(int q) ;
Public void retirerQuantite(int q) ;
Public void affiche() ;
}
1. Définir les différentes méthodes de la classe Article.
2. On désire concevoir une classe Vêtements héritant en mode public de la classe Article
et possédant en plus l’attribut privé taille de type entier. On demande de définir :
a. Le constructeur avec paramétrés de cette classe
b. La méthode getTaille() qui retourne la taille
c. Redéfinir la méthode affiche pour cette classe
3. Ecrire une classe TestArticle permettant de :
a. Déclarer et afficher des articles
b. Ajouter une quantité et afficher la quantité disponible
Exercice 2
On souhaite créer une application java pour la gestion des élections. Cette application sera
constituée des classes suivantes: Personne et Electeur. Le prototype de la classe Personne est
le suivant :
Class Perssonne{
Protected String CIN;
Protected String Nom ;
Protected String Ville ;
Public Perssonne() ;
Public Perssonne(String, String, String) ;
Public getCIN();
}
1. Compléter la classe Personne par la définition de ces méthodes.
2. La classe Electeur hérite publiquement de la classe Personne. Un électeur est une
personne qui a en plus les attributs et les méthodes suivantes :
a. Un numéro de type entier
b. Un booléen qui indique si l’électeur a voté
c. Un constructeur sans paramètres

1
d. Un constructeur a quatre paramètres
e. Void afficher() ;
f. Void voter() ;
3. Ecrire la classe Electeur en donnant la définition de ces méthodes
4. Ecrire un programme Test qui permet de
a. Créer deux électeurs e1 et e2
b. Faire voter e1 et e2
c. Afficher les informations des électeurs e1 et e2.

Exercice 3
L’objet de cet exercice est d’implémenter ce schéma d’héritage.
On distingue deux catégories d’habitation : les habitations à usage professionnel et les
maisons individuelles, l’impôt se calculant différemment selon le type d’habitation. Pour cela,
on définit les classes HabitationProfessionnelle et HabitationIndividuelle et les
caractéristiques communes à ces deux classes sont regroupées dans la classe Habitation. On a
donc un schéma de classes où les classes HabitationProfessionnelle et
HabitationIndividuelle héritent de la classe Habitation.

1- La classe Habitation comprend

les attributs :
 propriétaire du type chaîne de caractères et qui correspond au nom du propriétaire,
 adresse du type chaine de caractères et qui correspond à l’adresse de l’habitation,
 surface du type double et qui correspond à la surface de l’habitation et qui permet de
calculer le montant de l’impôt.

les méthodes :
 double impot() qui permet de calculer le montant de l’impôt que doit payer le propriétaire
de l’habitation à raison de 2DH par m2.
 void affiche() qui permet d’afficher les trois attributs de la classe Habitation.
 un constructeur à trois paramètres permettant d’initialiser une instance de la classe
Habitation : Habitation(String P, String A, double S);

Question 1 : Définissez la classe Habitation ?


2- la classe HabitationIndividuelle

Le calcul de l’impôt d’une maison individuelle est différent de celui d’une habitation, il se
calcule en fonction de la surface habitable, du nombre de pièces et de la présence ou non
d’une piscine. On compte 100DH /pièce et 500DH supplémentaire en cas de présence d’une
piscine.
Question 2 : Définir la classe HabitationIndividuelle qui hérite de la classe Habitation en
utilisant l’en-tête suivant :
public class HabitationIndividuelle extends Habitation {
...
}
 Ajouter les attributs NbPieces de type entier et Piscine de type booléen.
 Redéfinir la méthode impot ()
 Redéfinir la méthode affiche() qui doit afficher, les attributs p

2
ropriétaire, adresse et surface de la classe Habitation, et les attributs NbPieces et Piscine
propres à la classe HabitationIndividuelle.

3- la classe HabitationProfessionnelle

Le calcul de l’impôt d’une habitation à usage professionnel est également différent de celui
d’une habitation. Il se calcule en fonction de la surface occupée par le bâtiment et du nombre
d’employés travaillant dans l’entreprise. On compte 1000DH supplémentaire par tranche de
10 employés.
Question 3 : Définir la classe HabitationProfessionnelle qui hérite de la classe Habitation en
utilisant l’en-tête suivant :
public class HabitationProfessionnelle extends Habitation {
...
}
 Ajouter l’attribut NbEmployes de type entier.
 Redéfinir les méthodes impot() et affiche(). La méthode affiche() doit afficher, en plus des
attributs propriétaire, adresse et surface, l’attributs NbEmployes.

Question 4 : Tester votre programme à l’aide du code écrit dans la fonction main ()

Vous aimerez peut-être aussi