Najah.
Mon plan de révision⚡ Défi flash

Informatique · BTS & DUT (EST) — BTS

Programmation orientée objet (POO)

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

La POO repose sur le concept d'objet, qui regroupe des données (attributs) et des comportements (méthodes). Une classe est le modèle (le plan) permettant de créer des objets. Les piliers sont :

  • Encapsulation : Restreindre l'accès aux données (private) et utiliser des accesseurs (getters/setters).
  • Héritage : Une classe fille hérite des membres d'une classe mère (extends).
  • Polymorphisme : Capacité d'une méthode à se comporter différemment selon l'objet.

Méthodes à maîtriser

  • Définir une classe avec ses attributs et méthodes.
  • Créer un constructeur pour initialiser les objets.
  • Utiliser les modificateurs de visibilité (public, private, protected).
  • Appliquer l'héritage pour factoriser le code.

Exemples corrigés

Exemple de classe simple :

public class Etudiant {
    private String nom;
    public Etudiant(String n) { this.nom = n; }
    public void afficher() { System.out.println(nom); }
}

Erreurs fréquentes

  • Oublier le mot-clé this pour différencier l'attribut du paramètre.
  • Laisser tous les attributs en public (violation de l'encapsulation).
  • Confondre la classe (le plan) et l'objet (la réalisation).

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Programmation orientée objet (POO)

1/4

Quel mot-clé permet d'hériter d'une classe ?

❓ Questions fréquentes

C'est quoi la différence entre une classe et un objet ?
  1. La classe est le plan ou le moule (ex: le plan d'une maison).
  2. L'objet est l'instance réelle créée à partir de ce plan (ex: la maison construite).

💡 À retenir : La classe est abstraite, l'objet est concret.

Chno hiya l-fayda mn l-encapsulation ?
  1. Elle protège les données internes de l'objet contre des modifications non autorisées.
  2. Elle permet de contrôler l'accès via des méthodes (getters/setters).

💡 À retenir : L'encapsulation garantit l'intégrité des données.

Kifach n-khdem l-héritage f l-code ?
  1. On utilise le mot-clé extends après le nom de la classe fille.
  2. La classe fille hérite automatiquement des attributs et méthodes de la classe mère.

💡 À retenir : L'héritage permet la réutilisation du code.

Est-ce qu'on peut avoir plusieurs constructeurs dans une classe ?

Oui, c'est ce qu'on appelle la surcharge (overloading) des constructeurs. Ils doivent avoir des signatures (paramètres) différentes.

💡 À retenir : La surcharge permet d'initialiser un objet de plusieurs manières.

C'est quoi un attribut static ?

C'est un attribut qui appartient à la classe elle-même et non à une instance particulière. Tous les objets partagent la même valeur.

💡 À retenir : static = commun à tous les objets.

Wach l-classe l-moujarrada (abstraite) momkin n-kriw minha objet ?

Non, une classe abstraite sert uniquement de base pour l'héritage. On ne peut pas faire new ClasseAbstraite().

💡 À retenir : Classe abstraite = classe incomplète.

Quelle est la différence entre private et protected ?
  1. private : accessible uniquement dans la classe elle-même.
  2. protected : accessible dans la classe, les classes filles et le même package.

💡 À retenir : protected est plus permissif que private.

Comment appeler le constructeur de la classe mère ?

On utilise le mot-clé super() à l'intérieur du constructeur de la classe fille.

💡 À retenir : super() doit être la première instruction.

C'est quoi une interface ?

C'est un contrat qui définit des méthodes sans corps. Toute classe qui l'implémente doit définir ces méthodes.

💡 À retenir : Interface = définition de comportement obligatoire.

C'est quoi le polymorphisme ?

C'est la capacité d'un objet à prendre plusieurs formes, souvent via la redéfinition (override) de méthodes dans les classes filles.

💡 À retenir : Même nom de méthode, comportements différents.

Pourquoi on utilise des getters et setters ?
  1. Pour lire (getter) ou modifier (setter) des attributs privés.
  2. Pour ajouter des contrôles (ex: vérifier qu'un âge est positif).

💡 À retenir : Getter/Setter = accès sécurisé.

Est-ce qu'une classe peut hériter de deux classes en même temps ?

En Java (langage standard du programme), l'héritage multiple de classes n'est pas autorisé. On utilise les interfaces pour cela.

💡 À retenir : Héritage simple pour les classes.

✍️ Exercices type examen national

Exercice 1

Soit une classe CompteBancaire avec un attribut privé solde. Écrire la classe avec un constructeur et une méthode crediter(double montant).

Voir la correction détaillée : inscription gratuite

Exercice 2

Créer une classe Vehicule et une classe Voiture qui en hérite. Vehicule possède une méthode demarrer().

Voir la correction détaillée : inscription gratuite

Exercice 3

Implémenter une classe Rectangle avec longueur et largeur, un constructeur, et une méthode calculerSurface().

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique