TP POO - Séance 03
Ce cours pratique de Programmation Orientée Objet (POO) aborde les notions fondamentales des variables et des méthodes dans une classe, ainsi que la mise en œuvre de ces concepts à travers des exercices concrets. Il s'inscrit dans une série de séances visant à maîtriser la conception et la manipulation d'objets en Java ou dans un langage similaire.
D'après le document TP POO - Séance 03
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Object-Oriented Programming (OOP) · PDF · 20 pages · 2011
Afficher l'aperçu du document
Ce cours pratique de Programmation Orientée Objet (POO) aborde les notions fondamentales des variables et des méthodes dans une classe, ainsi que la mise en œuvre de ces concepts à travers des exercices concrets. Il s'inscrit dans une série de séances visant à maîtriser la conception et la manipulation d'objets en Java ou dans un langage similaire.
Les types de variables en programmation orientée objet
Dans une classe, il existe plusieurs types de variables qui jouent des rôles différents :
- Variables d'instance : elles définissent les caractéristiques propres à chaque objet. Chaque instance possède ses propres valeurs pour ces variables.
- Variables de classe : elles sont communes à toutes les instances d'une même classe. Elles représentent des données partagées.
- Variables locales : ce sont des variables temporaires utilisées uniquement à l'intérieur des méthodes pour effectuer des calculs ou manipulations internes.
Les méthodes dans une classe
Les méthodes sont des fonctions associées à une classe ou à ses objets, elles permettent d'encapsuler des comportements :
- Constructeurs : méthodes spéciales servant à créer et initialiser des objets.
- Accesseurs : méthodes permettant d'accéder aux données des objets, souvent sous forme de getters et setters.
- Méthodes de classe : méthodes qui gèrent la classe elle-même ou ses objets, souvent définies comme statiques.
Exercice 01 : Création et manipulation d'une classe Point
Le premier exercice consiste à écrire une classe Point représentant un point dans un plan cartésien. Chaque point est caractérisé par deux attributs de type float : l'abscisse et l'ordonnée.
La classe doit inclure :
- Un constructeur par défaut (sans paramètres).
- Une méthode
afficher()qui imprime les coordonnées du point à l'écran. - Une méthode
deplacer()qui modifie la position du point en fonction des pas passés en arguments (déplacement relatif à la position actuelle).
Un programme de test, sous la forme d'une classe TestPoint, doit :
- Créer un point.
- Afficher ses coordonnées.
- Le déplacer (par exemple, abscisse +2.5 et ordonnée -1).
- Afficher à nouveau ses coordonnées.
Extension de la classe Point
La classe Point est ensuite enrichie avec :
- Un constructeur paramétré permettant d'initialiser directement les coordonnées.
- Des méthodes
getAbscisse()etgetOrdonnee()pour retourner les valeurs actuelles des coordonnées. - Des méthodes
setAbscisse()etsetOrdonnee()pour modifier les valeurs des coordonnées. - Une méthode
toString()qui retourne une chaîne de caractères décrivant le point (ses coordonnées). - Une méthode
compareTo()qui compare deux points et retourne un booléen indiquant si leurs coordonnées sont identiques.
Test avancé avec deux points
La classe TestPoint est modifiée pour :
- Créer deux objets
Point: le premier avec le constructeur paramétré (par exemple abscisse = 1, ordonnée = 2.3), le second avec le constructeur par défaut. - Comparer ces deux points avec la méthode
compareTo(). - Déplacer le premier point (par exemple abscisse -0.5, ordonnée +0.7).
- Faire en sorte que le deuxième point ait la même position que le premier (même coordonnées).
- Afficher les coordonnées des deux points de deux façons différentes.
Exercice 02 : Gestion d'un carnet de coordonnées
Le second exercice porte sur la création d'une classe Coordonnees représentant les informations personnelles d'une personne. Cette classe contient :
- Les champs : nom, prénom, téléphone, adresse.
- Un constructeur pour initialiser ces champs.
- Une méthode
toString()pour retourner une description textuelle des coordonnées.
Classe CarnetCoordonnees
Une autre classe, CarnetCoordonnees, est créée pour gérer un ensemble de coordonnées :
- Attributs privés :
- Un tableau
carnetpour stocker les objetsCoordonnees. - Un entier
nbCoordonneesindiquant le nombre d'éléments présents dans le carnet. - Méthodes :
- Un constructeur qui initialise un carnet vide pouvant contenir jusqu'à 100 coordonnées.
void ajouter(Coordonnees c): ajoute une nouvelle entrée dans le carnet.void rechercher(String nom, String prenom): recherche et affiche les coordonnées de la première personne correspondant au nom et prénom donnés. Si la personne n'est pas trouvée, un message indique son absence.void affiche(): affiche toutes les coordonnées contenues dans le carnet.
Points clés
- Les variables d'instance définissent les caractéristiques propres à chaque objet, tandis que les variables de classe sont partagées par toutes les instances.
- Les constructeurs permettent d'initialiser les objets, avec ou sans paramètres.
- Les accesseurs (getters et setters) permettent de contrôler l'accès aux données des objets.
- La méthode
toString()facilite la représentation textuelle d'un objet. - La méthode
compareTo()peut être utilisée pour comparer deux objets selon leurs attributs. - La gestion d'un ensemble d'objets peut être réalisée via une classe contenant un tableau et des méthodes d'ajout, de recherche et d'affichage.
Commentaires
Aucun commentaire pour le moment. Posez la première question.