Examen : Classes et Objets en Java
Partie 1: Questions Théoriques (30 points)
- 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?
- 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é.
- 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
- 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.
- 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.
- 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();
}
}