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.

TP POO - Séance 03

Document source

TP POO - Séance 03

Object-Oriented Programming (OOP) · PDF · 20 pages · 2011

Afficher l'aperçu du document

Consulter le document original →

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() et getOrdonnee() pour retourner les valeurs actuelles des coordonnées.
  • Des méthodes setAbscisse() et setOrdonnee() 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 carnet pour stocker les objets Coordonnees.
    • Un entier nbCoordonnees indiquant 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.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions