principes POO
Encapsulation, héritage, polymorphisme, abstraction
Encapsulation
L’encapsulation consiste à regrouper les données (variables) et les méthodes
(fonctions) qui les manipulent au sein d’une même entité appelée classe.
Une classe est un squelette/moule d’un objet.
Avantages encapsuation
La protection des données:
On peut définir des niveaux de visibilité (comme public, private ou
protected) pour contrôler qui peut accéder ou modifier ces données
Modularité et réutilisation du code
Maintenance facilitée
Définition static
Le mot-clé static est utilisé pour déclarer des membres (méthodes ou propriétés) qui
appartiennent à la classe elle-même plutôt qu’à ses instances individuelles.
Cela signifie que vous pouvez accéder aux membres statiques d’une classe sans avoir
besoin de créer une instance de cette classe.
définition Héritage
L’héritage permet de créer de nouvelles classes en se basant sur des classes
existantes, en héritant de leurs propriétés et de leurs méthodes
● La classe parente (ou super-classe):
Il s’agit de la classe qui est héritée. Elle contient généralement des attributs
(variables) et des méthodes (fonctions) qui sont partagés par toutes les
classes dérivées.
● La classe dérivée (ou sous-classe):
Il s’agit de la classe qui hérite de toutes les propriétés et méthodes de la
classe parente, ce qui signifie qu’elle peut utiliser ces éléments directement
sans avoir à les redéfinir.
Polymorphisme
Le polymorphisme permet à plusieurs classes de partager un même nom de
méthode mais chaque classe peut avoir une implémentation différente de cette
méthode.
Ainsi, une méthode possédant le même nom sur une ou des classes faisant partie
d’une hiérarchie pourra se comporter de manière différente si elle est redéfinie
sur un ou des enfants appartenant à cette hiérarchie.
définition abstraction
L’abstraction permet de créer des modèles ou des structures de base génériques
pour représenter des objets du monde réel ou des concepts et est utilisée pour
créer des classes abstraites et des interfaces.
Une classe abstraite ne peut pas être instanciée directement.
Elle sert de modèle pour d’autres classes concrètes qui en héritent.
Une classe abstraite peut contenir des méthodes abstraites, qui sont des méthodes
sans implémentation dans la classe abstraite.
Les classes dérivées doivent implémenter ces méthodes abstraites.
une
classe abstraite qui impose un peu à la manière
d’une implémentation d’interface, un schéma à
suivre.
peuvent contenir des méthodes abstraites
(méthodes sans implémentation) et des
méthodes concrètes (méthodes avec une
implémentation).
➢ peuvent contenir des propriétés avec des
valeurs par défaut