⚠️ Attention cette page est en cours de construction
La programmation orientée objet (POO) est un paradigme de programmation, c’est à dire une manière de programmer. Ce que l’on faisait précédemment est appellé la programmation fonctionnelle
L’un des pouvoir de la POO est nottament de pouvoir créer ses propres types appellées “classes”, on les reconnais en Java car elle commencent avec une lettre majuscule (par exemple String est une classe mais int n’en est pas une)
Une classe est donc comme un nouveau type et est défini par des propriétés ainsi que des méthodes qui lui sont propre.
Un objet est une instance de cette classe (c’est une occurence de notre nouveau type).
Voici comment créer une nouvelle classe :
Maintenant si on veut utiliser cette classe Color :
Pour résumer
La différence entre une classe et un objet :
Créer une classe c’est comme créer un nouveau type avec ses propre propriétés et ses propres méthodes
Un objet est une occurence d’une classe (c’est une instance de cette classe)
On peut créer un objet à partir du constructeur de la classe en utilisant new
Ce qui différentie plusieurs objets d’une même classe :
Les attributs définissent l’état d’un objet, c’est à dire son “ADN”, ce qui va le différentier des autres objets de la même classe
Ce qui défini une méthode statique
Une méthode statique est reconnaissable par le mot-clé static dans sa définition. (A savoir que static peut aussi être utilisé sur une variable pour devenir une variable de classe)
Une méthode statique n’a pas besoin d’une instance de la classe (d’objet) pour fonctionner (exemple: println)
Ce qui défini une méthode d’objet
Une méthode d’objet a besoin d’une instance de la classe (objet) pour fonctionner
Une méthode d’objet peut récupérer les attributs de celui-ci
Comment utiliser le mot-clé this dans les méthodes d’objet :
Le mot-clé this permet d’éviter la confusion entre les noms de variables et représente l’objet lui-même
Les modificateurs d’accès aux variables et classes :
Tous les attributs ou méthodes ayant le modificateur private alors on ne pourra y accéder uniquement au sein de la classe
Par défault toutes les classes, attributs et méthodes en Java peuvent être accédée par tous les membre du même package
Tous les attributs, méthodes ou classes ayant le modificateur public peuvent être accédé par n’importe quel classe quelque soit le package
L’encapsulation d’attributs permet de ne pas accéder aux attributs directement pour ne pas avoir un état de l’objet qui soit invalide.
On met donc le modificateur des attributs en private
On crée des méthodes “getter” (“accesseurs”) pour récupérer les attributs. Ces méthodes vont souvent commencer par get par convention.
On crée des méthodes “setter” (“mutateurs”) pour écrire dans ces attributs (en faisant passer des tests pour vérifier que la valeur que l’utilsiateur veut écrire est valide), ces méthodes vont souvent commencer par set par convention.
Note: Si l’un des attributs de l’objet est un autre objet (tel qu’un tableau), il est obligatoire d’en faire une copie quand on le set ou le get sinon cela brise l’encapsulation des attributs. → copie défensive