Mme Cheikh Eya
Atelier Programmation Orientée Objet
Atelier 3 Les Constructeurs
OBJECTIF DU TP
Comprendre le fonctionnement des constructeurs dans la POO
Objectifs Spécifiques de ce TP
Définir des classes avec des constructeurs
Déclarer des objets avec des paramètres
Surcharger des méthodes
Exercice 1
1. Définir la classe Chat pour la gestion de boutique de vente d’animaux :
Chat
-
-age : entier
-poids : réel,-nom:chaine
+SetAge (nvAge)
+SetAge ()
+GetAge()
+SetPoids(nvPoid)
+GetPoids()
+ChangerNom(nvNom)
+Miaouller()
+ afficheChat()
Sachant que
o SetAge() incrémente l’âge de 1 et SetAge(nvAge) place le paramètre nvAge
dans l’attribut âge.
o Miaouller() affiche « Miaou Miaou »
o Et afficheChat() permet de faire l’affichage d’un chat :
Bonjour, je suis le chat nom_du_chat
Miaou, Miaou
J’ai age_du_chat mois
Je pèse poids_du_chat Kg
1
2. Définir les constructeurs suivants :
Ayant comme paramètre le nom du chat, et place dans l’âge 0 et dans poids 0.
Ayant comme paramètre le poids et l’âge du chat et donnant le nom kettitesse
au chat.
Sans paramètres donnant le nom katous au chat, l’âge 0 et poids 0.
3. Définir un programme qui permet de tester la classe Chat avec les objets suivants:
Chat1 :Chat
Nom= Antar
Chat2 :Chat
Chat2 :Chat
Nom= Simou
age =5 mois Change de nom age =5 mois
poids =1.5 Kg
poids =1.5 Kg
Chat3 :Chat Change de nom Chat3 :Chat Change de poids Chat3 :Chat
Nom= katy Nom= Katy
poids =1.5 Kg
Afficher les 3 chats
2
Exercice 2
1. Définir la classe Produit pour l’application de gestion de stock
Produit
+ Ref : entier
+ Libellé : string
- Quantité en stock : entier
- Prix unitaire : réel
+SetQuantité ()
+GetQuantité ()
+SetPrix()
+GetPrix()
+fusion ()
+ Affiche()
Avec
Ref une valeur constante
fusion() : fusionne deux produits en un seul ayant la référence du premier, le libellé
concaténation de deux libellés, la quantité en stock la somme des deux quantités et le
prix pondéré par les deux quantités :
Nouveau prix=(prix1*quantité1+prix2*quantité2)/(quantité1+quantité2)
2. Définir les constructeurs :
Ayant comme paramètre la référence et le libellé du produit
Ayant comme paramètre la référence seulement et le libellé sera « inconnu »
3. Ecrire un programme pour tester la classe Produit
Verre1 :Produit Verre2 :Produit
Ref : 120 Ref : 125
Libellé : verre V225, Libellé : verre V220,
Quantité en stock : 12000 Quantité en stock : 50000
Prix unitaire : 0.125 Prix unitaire : 0.100
fusionner les 2 produits dans un 3e produit et Afficher les 3 produits
3
Exercice 3
Créer la classe Personne
Personne
- nom: chaîne de caractères
- prénom: chaîne de caractères
- profession : chaîne de caractères
- âge :entier
+sePresenter( )
et terminer le programme suivant pour avoir le résultat attendu
class Test
{ public static void main(String [] args)
{ Personne [ ] TabPersonne=new Personne[3];
….
for (int i=0;i<3;i++)
{ ……
[Link](“Nom=”+……..);
}}}
Résultat de l’exécution:
Nom= Besbes, Prénom= Ahmed
Nom= Ben zekri, Prénom= Sami
Nom= Torjmen, Prénom= Fahd
Exercice 4
Pour la classe « Jeux » définie comme suit :
class Jeux {
public static int nombre;
public int nb;
public Jeux(int i) {nombre++;
nb=nombre+i;}}
Qu’affichera le code suivant ?
Jeux j1=new Jeux(1);
Jeux j2=new Jeux(0);
Jeux j= j2;
[Link]([Link] + “ et “ + [Link]);