Fiche de révision : Programmation orientée objet en Java

Plan du Cours

  1. Principes et structure d’un programme Java
  2. Classes, objets et attributs
  3. Constructeurs et création d’objets
  4. Encapsulation et contrôle d’accès
  5. Méthodes et manipulation des objets
  6. Héritage et classes abstraites
  7. Polymorphisme et redéfinition
  8. Interfaces et capacités transversales

1. Principes et structure d’un programme Java

Notions clés & Définitions

  • Programmation orientée objet : Organisation du code autour d’objets construits à partir de classes.

★ À maîtriser

  • L’exécution d’un programme Java commence dans la méthode main.

Compléments

  • Un programme Java écrit dans un IDE place le code dans une classe située dans son propre fichier.

  • System.out.println(...) affiche du texte dans la console.

2. Classes, objets et attributs

Notions clés & Définitions

  • Classe : Modèle qui définit les attributs et les méthodes des objets qu’elle permet de créer.
  • Objet : Instance concrète créée à partir d’une classe.
  • Attribut : Variable appartenant à une classe et décrivant une propriété de ses objets.

★ À maîtriser

📌 Une variable d’instance est propre à chaque objet, tandis qu’une variable de classe marquée static est partagée par toutes les instances.

Compléments

  • Une classe peut produire plusieurs objets, et chaque objet expose les méthodes définies par sa classe.

Astuce mémo

La classe Animal est le plan du zoo ; chaque objet animal en est un exemplaire concret.

3. Constructeurs et création d’objets

Notions clés & Définitions

  • Constructeur : Méthode spéciale exécutée automatiquement lors de la création d’un objet pour initialiser son état.

★ À maîtriser

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

Compléments

📌 Si aucune déclaration de constructeur n’est écrite, un constructeur par défaut est fourni.

  • La surcharge permet de définir plusieurs constructeurs avec des paramètres différents.

  • Le mot-clé this désigne l’objet en cours de construction, par exemple dans this.name = name.

4. Encapsulation et contrôle d’accès

Notions clés & Définitions

  • Encapsulation : Principe qui impose de passer par les méthodes d’un objet pour agir sur ses variables, plutôt que de les modifier directement depuis l’extérieur.

★ À maîtriser

  • Le niveau private rend un élément accessible uniquement dans la classe qui le déclare.

📌 Un accesseur, ou getter, lit une variable d’instance ; un mutateur, ou setter, modifie cette variable.

Compléments

  • Le niveau public rend un élément accessible partout sans restriction.

  • Le niveau protected rend un élément accessible dans le package et dans les classes descendantes.

  • Sans modificateur, un élément est accessible uniquement aux classes du même package.

  • Les variables d’instance devraient être déclarées private et le modificateur d’accès le plus restrictif possible devrait être choisi.

  • Un getter public ne prend aucun paramètre et renvoie une valeur du même type que la variable lue.

  • Un setter ne renvoie aucune valeur, prend en paramètre la valeur à affecter et peut la valider avant stockage.

Astuce mémo

private bloque l’accès direct ; les méthodes publiques servent de passage contrôlé.

5. Méthodes et manipulation des objets

Notions clés & Définitions

  • Méthode : Bloc de code d’une classe qui effectue un traitement sur ses objets et peut recevoir des paramètres ou renvoyer une valeur.

★ À maîtriser

📌 Une méthode d’instance manipule les éléments d’un objet et s’appelle sur une instance, tandis qu’une méthode de classe marquée static est indépendante d’une instance et s’appelle sur la classe.

Compléments

  • La signature d’une méthode comprend son nom et les types de ses paramètres, ainsi que ses éventuels paramètres de type, mais pas son modificateur d’accès, le mot-clé static éventuel ni son type de retour.

  • Le mot-clé void indique qu’une méthode ne renvoie aucune valeur.

  • Pour manipuler un objet, on crée une instance avec new, on appelle ses méthodes ou lit et modifie ses champs via l’objet, et on appelle une méthode static via la classe.

6. Héritage et classes abstraites

Notions clés & Définitions

  • Héritage : L’héritage permet à une classe de dériver d’une autre, de réutiliser ses éléments et de les enrichir.
  • Classe abstraite : Classe déclarée avec abstract, qui ne peut pas être instanciée directement et s’utilise par l’intermédiaire de ses descendantes.

★ À maîtriser

📌 Le mot-clé extends indique la classe parente d’une sous-classe, et toute classe Java dérive d’une autre classe, de Object si aucune autre n’est indiquée.

Compléments

  • Une sous-classe hérite des éléments de sa classe parente et peut ajouter ses propres méthodes, comme Dog qui hérite de eat() d’Animal et définit bark().

  • Le constructeur d’une sous-classe appelle implicitement le constructeur de sa classe parente, et super désigne la partie héritée.

📌 Une sous-classe peut accéder aux champs protected de sa classe parente, tandis que des champs private ne sont pas accessibles directement depuis elle.

  • Une classe abstraite est déclarée avec le mot-clé abstract et peut ne contenir aucune méthode abstraite.

  • L’opérateur instanceof teste à quelle classe appartient une instance, par exemple si un objet Dog est aussi un Animal.

Astuce mémo

Une classe enfant reçoit les traits de sa classe parent, puis les enrichit.

7. Polymorphisme et redéfinition

Notions clés & Définitions

  • Polymorphisme : Mécanisme qui permet à un objet de prendre plusieurs formes et au même appel de méthode de produire des comportements différents selon l’objet appelant.

★ À maîtriser

  • Quand une méthode est redéfinie dans une sous-classe, un appel effectué par une référence de type parent exécute la version correspondant à la classe réelle de l’objet.

  • La redéfinition d’une méthode consiste à réimplémenter dans une classe enfant une méthode héritée de la classe parente.

Compléments

📌 Un objet est polymorphe lorsqu’il satisfait le test « est un » avec une classe parente ou une classe de son type.

📌 L’annotation @Override permet au compilateur de vérifier qu’une méthode redéfinit réellement une méthode parente.

  • Une collection ou un tableau de type Animal peut contenir des objets de plusieurs sous-classes, qui répondent chacun à un appel selon leur propre comportement.

Astuce mémo

Même appel, résultat différent selon la classe réelle de l’objet.

8. Interfaces et capacités transversales

Notions clés & Définitions

  • Interface : Propriété ou capacité transversale partagée par des classes, notamment des classes sans lien d’héritage direct.

★ À maîtriser

  • Une interface se déclare avec interface et une classe la met en œuvre avec implements.

  • Une classe peut étendre une seule classe parente, mais mettre en œuvre plusieurs interfaces.

Compléments

  • L’exemple d’interface Motorise déclare la méthode faisLePlein(), qu’une classe Voiture met en œuvre tout en héritant de Transport.

Teste tes connaissances

Teste tes connaissances sur Programmation orientée objet en Java avec 22 questions à choix multiples et corrections détaillées.

1. Comment la programmation orientée objet organise-t-elle le code ?

2. Dans une classe Java contenant plusieurs méthodes, laquelle marque le point de départ de l’exécution du programme ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Programmation orientée objet en Java avec 55 flashcards interactives.

Comment la programmation orientée objet organise-t-elle le code ?

Autour d’objets construits à partir de classes.

Dans quelle méthode commence l’exécution d’un programme Java ?

Dans la méthode main.

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

Un modèle qui définit les attributs et les méthodes des objets qu’elle permet de créer.

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