Exercice : Examen sur les classes et les objets en Java

Examen : Classes et Objets en Java

Partie 1: Questions Théoriques (30 points)

  1. Définitions (10 points):
  • Expliquez ce qu’est une classe en programmation orientée objet.
  • Qu’est-ce qu’un objet et comment diffère-t-il d’une classe?
  1. Constructeurs (10 points):
  • Qu’est-ce qu’un constructeur? Pourquoi sont-ils utilisés dans les classes?
  • Différenciez entre un constructeur par défaut et un constructeur paramétré.
  1. Encapsulation (10 points):
  • Qu’est-ce que l’encapsulation?
  • Pourquoi est-il important d’encapsuler les données dans une classe?

Partie 2: Programmation (70 points)

Exercice 1: Création de Classe (20 points)

Créez une classe Voiture avec les propriétés suivantes :

  • Marque
  • Modèle
  • Année de fabrication

Ajoutez un constructeur paramétré pour initialiser ces propriétés.

Exercice 2: Méthodes (20 points)

Ajoutez une méthode à la classe Voiture appelée afficherDetails() qui affiche les détails de la voiture (marque, modèle, année) à la console.

Exercice 3: Utilisation des Objets (30 points)

Dans le programme principal (main) :

  • Créez deux objets Voiture avec des données différentes.
  • Appelez la méthode afficherDetails() pour chaque objet créé.

Correction :

Partie 1: Questions Théoriques

  1. Définitions (10 points):
  • Une classe est un modèle pour créer des objets. Elle définit les propriétés et comportements communs à tous les objets de ce type.
  • Un objet est une instance spécifique d’une classe, créée à partir du modèle défini par la classe.
  1. Constructeurs (10 points):
  • Un constructeur est une méthode spéciale appelée lors de la création d’un objet. Il initialise les propriétés de l’objet.
  • Un constructeur par défaut est fourni par défaut par Java s’il n’y en a pas de défini dans la classe. Un constructeur paramétré prend des paramètres pour initialiser les propriétés.
  1. Encapsulation (10 points):
  • L’encapsulation est le principe de regrouper les données (propriétés) et les méthodes (comportements) dans une seule unité (classe).
  • L’encapsulation permet de cacher l’implémentation interne et de protéger les données en les rendant privées.

Partie 2: Programmation

Exercice 1: Création de Classe (20 points)

public class Voiture {
    private String marque;
    private String modele;
    private int anneeFabrication;

    public Voiture(String marque, String modele, int anneeFabrication) {
        this.marque = marque;
        this.modele = modele;
        this.anneeFabrication = anneeFabrication;
    }
}

Exercice 2: Méthodes (20 points)

public class Voiture {
    // (code de l'exercice 1)

    public void afficherDetails() {
        System.out.println("Marque: " + marque + ", Modèle: " + modele + ", Année: " + anneeFabrication);
    }
}

Exercice 3: Utilisation des Objets (30 points)

public class Main {
    public static void main(String[] args) {
        Voiture voiture1 = new Voiture("Toyota", "Camry", 2022);
        Voiture voiture2 = new Voiture("Honda", "Accord", 2021);

        voiture1.afficherDetails();
        voiture2.afficherDetails();
    }
}