↑
QCM CHAPITRE 5

Exercices de révision

Testez vos connaissances sur les modificateurs d'accès, l'encapsulation, les getters/setters et les mots-clés static et final
Ce QCM couvre toutes les sections du chapitre 5 : les modificateurs d'accès (public, private, protected, package-private), l'encapsulation (principe et avantages), les getters et setters (rôle et utilisation), et les mots-clés static et final. Répondez aux questions puis vérifiez vos réponses en cliquant sur le bouton "Afficher les réponses".

5.1 – Modificateurs d'accès

1

Quel est le niveau d'accès le plus permissif en Java ?

Choix unique
2

Quel est le niveau d'accès le plus restrictif en Java ?

Choix unique
3

Quel modificateur d'accès permet l'accès dans la classe, le même package et les sous-classes (même dans un autre package) ?

Choix unique
4

Quel est le niveau d'accès par défaut (sans modificateur) en Java ?

Choix unique
5

Quel est le résultat de ce code :

public class Personne {
    private String nom;
    
    public void setNom(String nom) {
        this.nom = nom;
    }
}

Personne p = new Personne();
p.nom = "Jean";
Choix unique
6

Quelles sont les portées d'accès du modificateur protected ?

Choix multiples
7

Quand doit-on utiliser le modificateur private ?

Choix multiples
8

Quel modificateur d'accès permet l'accès uniquement dans le même package ?

Choix unique
9

Quel est le résultat de ce code :

// Package com.monapp
public class Personne {
    protected String nom;
}

// Package com.monapp.autre
public class Etudiant extends Personne {
    public void afficher() {
        System.out.println(nom);  // Accès à nom
    }
}
Choix unique
10

Quelle est la différence entre protected et package-private ?

Choix unique

5.2 – Encapsulation

11

Qu'est-ce que l'encapsulation en programmation orientée objet ?

Choix unique
12

Quels sont les deux principes de base de l'encapsulation ?

Choix multiples
13

Quels sont les avantages de l'encapsulation ?

Choix multiples
14

Quel est le problème principal avec les attributs publics ?

Choix unique
15

Quel est le résultat de ce code :

public class Personne {
    private int age;
    
    public void setAge(int age) {
        if (age >= 0 && age <= 150) {
            this.age = age;
        } else {
            System.out.println("Âge invalide !");
        }
    }
}

Personne p = new Personne();
p.setAge(-5);
Choix unique
16

Comment l'encapsulation améliore-t-elle la flexibilité du code ?

Choix unique

5.3 – Getters et setters

17

Qu'est-ce qu'un getter (accesseur) ?

Choix unique
18

Qu'est-ce qu'un setter (mutateur) ?

Choix unique
19

Quelle est la convention de nommage pour un getter d'un attribut nommé "age" ?

Choix unique
20

Quelle est la convention de nommage pour un setter d'un attribut nommé "nom" ?

Choix unique
21

Pour un attribut booléen nommé "actif", quelle convention peut-on utiliser pour le getter ?

Choix multiples
22

Quel est le résultat de ce code :

public class Personne {
    private String nom;
    
    public String getNom() {
        return nom;
    }
    
    public void setNom(String nom) {
        if (nom != null && !nom.trim().isEmpty()) {
            this.nom = nom;
        }
    }
}

Personne p = new Personne();
p.setNom("");
String n = p.getNom();
Choix unique
23

Quels sont les avantages des getters et setters ?

Choix multiples
24

Comment créer un attribut en lecture seule (read-only) ?

Choix unique

5.4 – Mots-clés static et final

25

Que signifie le mot-clé static en Java ?

Choix unique
26

Quelle est la caractéristique d'une variable statique ?

Choix unique
27

Comment appelle-t-on une méthode statique ?

Choix unique
28

Quelles sont les restrictions des méthodes statiques ?

Choix multiples
29

Que signifie le mot-clé final en Java ?

Choix unique
30

Qu'est-ce qu'une constante en Java ?

Choix unique
31

Quel est le résultat de ce code :

public class Personne {
    static int nombrePersonnes = 0;
    
    public Personne() {
        nombrePersonnes++;
    }
    
    public static int getNombrePersonnes() {
        return nombrePersonnes;
    }
}

Personne p1 = new Personne();
Personne p2 = new Personne();
System.out.println(Personne.getNombrePersonnes());
Choix unique
32

Quel est le résultat de ce code :

public class Mathematiques {
    public static final double PI = 3.14159;
}

// Tentative de modification
Mathematiques.PI = 3.14;
Choix unique
33

Qu'est-ce qu'une méthode finale (final method) ?

Choix unique
34

Qu'est-ce qu'une classe finale (final class) ?

Choix unique
35

Quelle est la convention de nommage pour les constantes en Java ?

Choix unique
36

Quelle est la différence entre static et final ?

Choix unique