Travaux pratiques : Classe, Objet, Accesseurs et Mutateurs

TP : Classe personne

Ce TP implémente une classe Personne avec des méthodes pour définir et afficher les informations d’une personne.

import java.util.Scanner;

class Personne {
    // Attributs
    private String nom;
    private int age;

    // Constructeur
    public Personne(String nom, int age) {
        this.nom = nom;
        this.age = age;
    }

    // Méthode pour afficher les informations de la personne
    public void afficherInformations() {
        System.out.println("Nom : " + nom);
        System.out.println("Age : " + age + " ans");
    }

    // Méthode pour mettre à jour l'âge de la personne
    public void mettreAJourAge(int nouvelAge) {
        this.age = nouvelAge;
        System.out.println("Âge mis à jour avec succès !");
    }
}

public class TestPersonne {
    public static void main(String[] args) {
        // Création d'objets Personne
        Personne personne1 = new Personne("Alice", 25);
        Personne personne2 = new Personne("Bob", 30);

        // Affichage des informations initiales
        System.out.println("Informations initiales de la personne 1 :");
        personne1.afficherInformations();

        System.out.println("\nInformations initiales de la personne 2 :");
        personne2.afficherInformations();

        // Mise à jour de l'âge de la personne 1
        personne1.mettreAJourAge(26);

        // Affichage des informations mises à jour
        System.out.println("\nInformations mises à jour de la personne 1 :");
        personne1.afficherInformations();
    }
}

Dans cet exemple, la classe Personne a des attributs (nom et âge), un constructeur pour initialiser ces attributs, une méthode pour afficher les informations de la personne, et une méthode pour mettre à jour l’âge de la personne. La classe de test TestPersonne crée deux objets Personne, affiche leurs informations initiales, met à jour l’âge de la première personne, puis affiche les informations mises à jour.

TP : Classe Cercle

Cette fois-ci, nous allons créer une classe Cercle avec des méthodes pour calculer la circonférence et la surface du cercle.

import java.util.Scanner;

class Cercle {
    // Attribut
    private double rayon;

    // Constructeur
    public Cercle(double rayon) {
        this.rayon = rayon;
    }

    // Méthode pour calculer la circonférence du cercle
    public double calculerCirconference() {
        return 2 * Math.PI * rayon;
    }

    // Méthode pour calculer la surface du cercle
    public double calculerSurface() {
        return Math.PI * Math.pow(rayon, 2);
    }
}

public class TestCercle {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Demander à l'utilisateur de saisir le rayon du cercle
        System.out.print("Veuillez saisir le rayon du cercle : ");
        double rayon = scanner.nextDouble();

        // Création d'un objet Cercle
        Cercle cercle = new Cercle(rayon);

        // Affichage des informations du cercle
        System.out.println("\nInformations sur le cercle :");
        System.out.println("Rayon : " + rayon);
        System.out.println("Circonférence : " + cercle.calculerCirconference());
        System.out.println("Surface : " + cercle.calculerSurface());

        scanner.close();
    }
}

Dans cet exemple, la classe Cercle a un attribut (rayon), un constructeur pour initialiser ce rayon, et deux méthodes pour calculer la circonférence et la surface du cercle. La classe de test TestCercle demande à l’utilisateur de saisir le rayon du cercle, crée un objet Cercle avec ce rayon, puis affiche la circonférence et la surface du cercle.

TP3 : Classe livreur

Voici un autre exemple mettant en œuvre des classes, des objets, des getters(mutateurs) et des setters(Accesseurs) en Java. Cette fois-ci, nous allons créer une classe Livreur avec des attributs tels que le nom, l’âge, et le niveau de livraison. Nous utiliserons des méthodes pour récupérer et définir ces attributs à l’aide de getters et de setters.

import java.util.Scanner;

class Livreur {
    // Attributs
    private String nom;
    private int age;
    private int niveauLivraison;

    // Constructeur
    public Livreur(String nom, int age, int niveauLivraison) {
        this.nom = nom;
        this.age = age;
        this.niveauLivraison = niveauLivraison;
    }

    // Getter pour le nom du livreur
    public String getNom() {
        return nom;
    }

    // Setter pour le nom du livreur
    public void setNom(String nom) {
        this.nom = nom;
    }

    // Getter pour l'âge du livreur
    public int getAge() {
        return age;
    }

    // Setter pour l'âge du livreur
    public void setAge(int age) {
        this.age = age;
    }

    // Getter pour le niveau de livraison
    public int getNiveauLivraison() {
        return niveauLivraison;
    }

    // Setter pour le niveau de livraison
    public void setNiveauLivraison(int niveauLivraison) {
        this.niveauLivraison = niveauLivraison;
    }

    // Méthode pour afficher les informations du livreur
    public void afficherInformationsLivreur() {
        System.out.println("Nom : " + nom);
        System.out.println("Âge : " + age + " ans");
        System.out.println("Niveau de livraison : " + niveauLivraison);
    }
}

public class TestLivreur {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Création d'un objet Livreur
        Livreur livreur = new Livreur("Jean", 30, 5);

        // Affichage des informations initiales du livreur
        System.out.println("Informations initiales du livreur :");
        livreur.afficherInformationsLivreur();

        // Modification du nom du livreur à l'aide du setter
        System.out.print("\nEntrez le nouveau nom du livreur : ");
        String nouveauNom = scanner.nextLine();
        livreur.setNom(nouveauNom);

        // Modification de l'âge du livreur à l'aide du setter
        System.out.print("Entrez le nouvel âge du livreur : ");
        int nouvelAge = scanner.nextInt();
        livreur.setAge(nouvelAge);

        // Modification du niveau de livraison à l'aide du setter
        System.out.print("Entrez le nouveau niveau de livraison du livreur : ");
        int nouveauNiveauLivraison = scanner.nextInt();
        livreur.setNiveauLivraison(nouveauNiveauLivraison);

        // Affichage des informations mises à jour du livreur
        System.out.println("\nInformations mises à jour du livreur :");
        livreur.afficherInformationsLivreur();

        scanner.close();
    }
}

Dans cet exemple, la classe Livreur a des attributs privés, des getters et des setters pour chaque attribut, et une méthode pour afficher les informations du livreur. La classe de test TestLivreur crée un objet Livreur, affiche ses informations initiales, utilise des setters pour mettre à jour ces informations, puis affiche les informations mises à jour.