Vous êtes sur la page 1sur 2

TP3 : Objets et Classes -Principes de

l’encapsulation
Majdoub Manel
Groupes : LSI A02, LISI A02

Objectif : apprendre quelques concepts de la Programmation Orientée Objet en


Java : classe, objet, instanciation et encapsulation.

Exercice 1
1. Écrivez une classeArticle pour représenter les articles vendus dans un super- mar-
ché. Chacun comporte quatre attributs : un numéro de référence, une description
textuelle de l’article, un prix hors taxe,et une quantité disponible en stock.
2. Ajouter une constructeur initialisant les propriétés.
3. Ajouter une méthode void provision(int quantity)permettant d’approvisionner les
stocks de cet article.
4. Ajouter une méthode boolean sell(int quantity)permettant de vendre l’article. Si
l’article n’a pas suffisamment de disponibilité, la vente est annulé et false est re-
tourné.
5. Ajouter une méthode double price()retournant le prix TTC de l’article (appliquer
une TVA de 20
6. Ajouter ne méthode main qui crée deux articles et qui essaie toutes ces méthodes.

Exercice 2
1. Écrivez une classe Point qui représente un point dans le plan en coordonnées car-
tésiennes. Cette classe devra avoir deux attributs de type double nommés x et
y.
2. Ajoutez à la classe Point un constructeur afin de permettre l’initialisation de x et
y.
3. Ajouter à la classe Point une méthode double distanceTo(Point p)qui retourne la
distance du point au point p. Utiliser double Math.sqrt(double d)pour calculer la
racine carrée.
4. Ajouter à la classe Point une méthode Point translate(double dx, double dy)qui
retourne un point obtenu par translation du point de dx sur les abscisses et de dy
sur les ordonnées.
5. Écrivez une classe LineSegment qui possède deux propriétés endPoint1 et end-
Point2 de type Point représentant les deux extrémités d’un segment.
6. Ajoutez à la classe LineSegment un constructeur afin de permettre l’initiali- sation
de point1 et point2.
7. Ajouter à la classe LineSegment une méthode double length()qui calcule et retourne
la longueur du segment
8. Ajouter la classe TestSeg comportant la méthode main et permettant de tester les
méthodes de la classe LineSegment
Exercice 3
1. Créer un classe java portant le nom "Personne"regroupant les attributs (publics)
nom et age. Cette classe propose également un constructeur (qui va initialiser les
attributs avec les paramètres passés)
2. Implémenter une second classe PersonneTest qui va créer 2 instances de la classe
Personne : Pierre qui a 23 ans et Christophe qui a 34 ans.
3. Enrichir la classe PersonneTest pour permettre :
— l’affichage du nom de la première instance de Personne (p1).
— l’affichage du nom de la seconde instance de Personne (p2).
— l’affichage des âges de p1 et p2.
— modifier l’âge de p1 à 24 ans.
— l’affichage l’âge de p1.
— modifier le nom de p2 en "Christian".
— l’affichage du nom de p2
4. Transformer les attributs nom et age en des attributs privés.
Que remarquez vous ? Proposez une solution.

Vous aimerez peut-être aussi