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

Informatique · Écoles d'ingénieurs — ENSIAS

Programmation Orientée Objet (Java/C++)

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 quatre piliers : l'encapsulation (protection des données), l'héritage (réutilisation du code), le polymorphisme (flexibilité) et l'abstraction (simplification). En Java, tout est objet. Une classe définit le modèle, et l'objet est une instance concrète.

Méthodes à maîtriser

  1. Définition de classe : Utiliser public class Nom { ... }.
  2. Encapsulation : Utiliser les modificateurs private pour les attributs et public pour les accesseurs (getters/setters).
  3. Constructeurs : Savoir initialiser les objets avec this.
  4. Héritage : Utiliser le mot-clé extends pour hériter et super pour appeler le constructeur parent.
  5. Polymorphisme : Utiliser la redéfinition (@Override) pour modifier le comportement des méthodes héritées.

Exemples corrigés

Exemple de classe simple :

public class Etudiant {
    private String nom;
    public Etudiant(String nom) { this.nom = nom; }
    public String getNom() { return nom; }
}

Erreurs fréquentes

  • Oublier le this dans le constructeur.
  • Confondre la surcharge (même nom, paramètres différents) et la redéfinition (même signature dans une classe fille).
  • Ne pas respecter l'encapsulation en laissant les attributs public.

🌉 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 (Java/C++)

1/4

Quel modificateur permet de rendre un attribut accessible uniquement dans la même classe ?

❓ Questions fréquentes

C'est quoi la différence entre une classe abstraite et une interface ?
  1. Une classe abstraite peut avoir des méthodes implémentées et des attributs non constants.
  2. Une interface ne contient que des signatures de méthodes (sauf méthodes par défaut) et des constantes.
  3. Une classe peut implémenter plusieurs interfaces, mais n'hériter que d'une seule classe.

💡 À retenir : Utilisez l'interface pour définir un contrat de comportement et la classe abstraite pour partager une base commune.

Kifach n7seb l'impact dyal l'héritage f l'exécution ?
  1. L'héritage ajoute une couche d'indirection via la table des méthodes virtuelles (vtable).
  2. À l'exécution, le programme cherche la méthode dans la classe de l'objet, puis remonte la hiérarchie.

💡 À retenir : L'héritage est puissant mais ne doit pas être abusif pour éviter la complexité.

Pourquoi on utilise private pour les attributs ?
  1. Pour empêcher l'accès direct depuis l'extérieur.
  2. Pour contrôler la modification des données via des setters (validation).
  3. Pour garantir l'intégrité de l'objet.

💡 À retenir : L'encapsulation est la base de la sécurité en POO.

chno hiya l'utilité dyal l'polymorphisme ?
  1. Permet de traiter des objets de classes différentes via une référence commune (ex: Animal a = new Chien();).
  2. Rend le code plus évolutif sans modifier les classes existantes.

💡 À retenir : Le polymorphisme permet d'écrire du code générique.

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

Oui, c'est ce qu'on appelle la surcharge de constructeurs. On peut définir plusieurs constructeurs avec des paramètres différents pour offrir plusieurs façons d'instancier l'objet.

💡 À retenir : La surcharge permet la flexibilité lors de la création d'objets.

kifach n3ref wach nst3mel héritage wla composition ?
  1. Héritage : relation "est un" (ex: un Chien est un Animal).
  2. Composition : relation "a un" (ex: une Voiture a un Moteur).

💡 À retenir : Privilégiez la composition pour plus de flexibilité.

C'est quoi le rôle du mot-clé static ?
  1. Un membre static appartient à la classe et non à une instance spécifique.
  2. Il est partagé par tous les objets de la classe.

💡 À retenir : Utilisez static pour les constantes ou les utilitaires.

Est-ce que le constructeur par défaut est toujours présent ?

Il est généré automatiquement par le compilateur uniquement si aucun autre constructeur n'est défini dans la classe.

💡 À retenir : Si vous définissez un constructeur, le constructeur par défaut disparaît.

Comment appeler le constructeur de la classe mère ?

On utilise le mot-clé super() dans la première ligne du constructeur de la classe fille.

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

Est-ce que l'interface peut avoir des attributs ?

Oui, mais ils sont implicitement public static final (des constantes).

💡 À retenir : Une interface n'est pas faite pour stocker de l'état.

Pourquoi on utilise @Override ?

C'est une annotation qui indique au compilateur qu'on redéfinit une méthode héritée, ce qui permet de détecter les erreurs de signature.

💡 À retenir : Toujours utiliser @Override pour la sécurité du code.

Est-ce que le polymorphisme marche avec les attributs ?

Non, le polymorphisme s'applique uniquement aux méthodes. Les attributs sont liés au type de la référence, pas à l'objet réel.

💡 À retenir : Le polymorphisme ne concerne que le comportement (méthodes).

✍️ Exercices type examen national

Exercice 1

Implémentez une classe Gestionnaire qui utilise le polymorphisme pour afficher l'aire d'une liste de Forme.

Voir la correction détaillée : inscription gratuite

Exercice 2

Soit une classe CompteBancaire avec solde (double). Créez une sous-classe CompteEpargne avec un taux d'intérêt. Implémentez une méthode calculerInterets().

Voir la correction détaillée : inscription gratuite

Exercice 3

Créez une interface Forme avec double aire(). Implémentez-la dans Cercle (rayon) et Rectangle (longueur, largeur).

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