Fiche de révision : Fondamentaux de la POO en Java

Plan du Cours

  1. Paradigme et principes de la POO
  2. Classes, objets et création
  3. Constructeurs et initialisation
  4. Héritage et appels au parent
  5. Vérification des types avec instanceof
  6. Pièges et règles de visibilité

1. Paradigme et principes de la POO

Notions clés & Définitions

  • Programmation orientée objet : Organise un programme autour d’objets qui regroupent des données et des comportements.

Points essentiels

  • Les quatre principes souvent associés à la POO sont :

    • l’encapsulation
    • l’héritage
    • le polymorphisme
    • l’abstraction
  • La POO aide à organiser le code, à réutiliser des fonctionnalités, à éviter les répétitions, à faciliter la maintenance et l’évolution du programme, et à modéliser des éléments réels ou des concepts métier.

2. Classes, objets et création

Notions clés & Définitions

  • Classe : Un modèle qui définit les attributs et les méthodes que ses objets pourront avoir.
  • Objet : Une instance d’une classe qui regroupe un état constitué des valeurs de ses attributs et des comportements définis par ses méthodes.
  • Attribut : Une donnée ou une caractéristique portée par un objet.
  • Méthode : Un comportement ou une action définie dans une classe.

★ À maîtriser

  • L’instruction Voiture voiture1 = new Voiture(); déclare une variable de type Voiture, la fait référencer à un nouvel objet créé avec new, et appelle le constructeur Voiture().

Compléments

  • Dans l’exemple de la voiture, accelerer() augmente vitesse de 10 ; après son appel lorsque vitesse vaut 0, vitesse vaut 10.

  • Deux objets créés à partir de la même classe sont distincts et peuvent avoir des états différents ; modifier les attributs de l’un ne modifie pas ceux de l’autre.

Astuce mémo

La classe est le modèle ; l’objet est l’instance.

3. Constructeurs et initialisation

Notions clés & Définitions

  • Constructeur : Un bloc spécial appelé lors de la création d’un objet et généralement utilisé pour initialiser ses attributs.

★ À maîtriser

📌 Un constructeur porte exactement le même nom que sa classe et ne possède aucun type de retour, pas même void.

📌 La surcharge permet à une classe de posséder plusieurs constructeurs, et Java choisit celui dont les paramètres correspondent aux arguments fournis.

Compléments

  • Lorsqu’une instruction comme new Etudiant("Amel", 23) est exécutée, Java crée l’objet puis appelle le constructeur correspondant, dont les paramètres servent à initialiser les attributs.

📌 Si une classe ne déclare aucun constructeur, Java fournit un constructeur sans paramètre par défaut ; dès qu’un constructeur est déclaré par le programmeur, ce constructeur par défaut n’est plus ajouté automatiquement.

4. Héritage et appels au parent

Notions clés & Définitions

  • Héritage : Permet à une classe de reprendre les membres accessibles d’une autre classe et de représenter une relation « est un ».

★ À maîtriser

📌 En Java, le mot-clé extends indique qu’une classe hérite d’une autre classe.

  • Dans le constructeur d’un enfant, super(nom, age) appelle le constructeur parent, puis this.formation = formation initialise l’attribut propre à l’étudiant.

Compléments

  • Une classe enfant peut utiliser les membres hérités accessibles qui ne sont pas privés, tandis qu’une classe enfant peut aussi déclarer ses propres attributs et méthodes.

  • Plusieurs classes enfants, comme Etudiant et Professeur, peuvent hériter de la même classe parent Personne et ajouter leurs éléments propres.

📌 this désigne l’objet courant et peut accéder à ses attributs et méthodes, tandis que super désigne la partie héritée et permet notamment d’appeler le constructeur parent.

📌 Une classe Java ne peut étendre directement qu’une seule classe, mais elle peut implémenter plusieurs interfaces avec implements.

5. Vérification des types avec instanceof

Notions clés & Définitions

  • instanceof : Un opérateur qui vérifie si un objet existant est compatible avec un type donné, notamment une classe ou l’une de ses classes parentes.

Points essentiels

  • Si p1 référence un objet créé comme Etudiant, alors p1 instanceof Etudiant et p1 instanceof Personne valent true, tandis que p1 instanceof Professeur vaut false.

  • Le type déclaré d’une variable peut être Personne alors qu’elle référence un objet créé comme Etudiant ; l’objet est alors compatible avec Etudiant et sa classe parente Personne.

6. Pièges et règles de visibilité

★ À maîtriser

📌 Un constructeur n’a pas de type de retour, tandis qu’une méthode possède un type de retour, par exemple void, int ou String.

📌 Les constructeurs ne sont pas hérités ; un constructeur enfant doit appeler un constructeur parent accessible.

Compléments

📌 Un attribut private n’est pas directement accessible depuis une classe enfant ; des getters, des setters ou un constructeur peuvent être prévus pour gérer cet accès.

📌 Si aucun appel au constructeur parent n’est écrit dans le constructeur enfant, Java tente d’insérer automatiquement super() ; cet appel échoue si le parent ne possède pas de constructeur sans paramètre accessible.

Astuce mémo

new crée un objet ; extends établit un héritage.

Teste tes connaissances

Teste tes connaissances sur Fondamentaux de la POO en Java avec 15 questions à choix multiples et corrections détaillées.

1. Dans une application de gestion, quelle organisation caractérise la programmation orientée objet ?

2. Quels quatre principes sont souvent associés à la programmation orientée objet ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Fondamentaux de la POO en Java avec 45 flashcards interactives.

Comment la programmation orientée objet organise-t-elle un programme ?

Autour d’objets regroupant des données et des comportements.

Qu’est-ce qu’une classe en programmation orientée objet ?

Un modèle définissant les attributs et les méthodes de ses objets.

Qu’est-ce qu’un objet en programmation orientée objet ?

Une instance d’une classe regroupant un état et des comportements.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches