L'encapsulation
La composition
Le polymorphisme
La généricité
L'héritage
L'interface
Le package
En P.O.O pure, les données sont encapsulées, ce qui signifie qu'il n'est pas possible d'agir directement sur les données d'un objet, il faut obligatoirement passer par les méthodes de l'objet.
L'encapsulation de données permet de les protéger, elle constitue un moyen sûr pour préserver l’intégrité des données. En effet, les contraintes d'intégrité (ou domaines de validité des données) sont programmées et contrôlés dans les méthodes et il obligatoire de passer par ces méthodes pour modifier les données.
L'encapsulation permet la modularité et facilite la réutilisation de logiciel, en effet, les données et les méthodes sont regroupées dans une même classe. De ce fait, une classe est considérée comme un module indépendant qu'on peut réutiliser dans un nouveau programme.
Pour mieux comprendre ce concept, je vous invite à consulter mon future article sur L'encapsulation.
Pour mieux comprendre ce concept, je vous invite à consulter mon future article sur L'encapsulation.
La composition
La composition signifie que les objets peuvent être inclus les uns dans les autres. Les objets sont organisés selon la relation composé de.
Exemple : -
Un point est un objet qui contient les coordonnées (x,y) d'un point dans un plan.
- Un cercle est un objet qui contient le rayon du cercle et un point indiquant le centre du cercle.
On dit, qu'un objet cercle est composé d'un objet point et d'un rayon du type primitif réel qui n'est pas un objet.
Le polymorphisme
C'est la faculté d'une méthode à s'appliquer à des objets de types différents. Grâce au polymorphisme, il est possible de définir plusieurs méthodes différentes qui portent le même nom, la différences entre ces méthodes se fait par rapport au nombre et aux types des paramètres.
Le polymorphisme permet l'écriture du code indépendamment des types spécifiques d'objets.
La généricité
La généricité (ou types paramétrés) permet d'introduire des paramètres (ou variables) de types dans la définition d'une méthode ou d'une classe.
La généricité facilite la réutilisation de composants logiciels, elle permet aussi l'écriture du code indépendamment des types spécifiques d'objets.
L'héritage
L'héritage est un mécanisme de transmission de fonctionnalités (propriétés et comportement) d'une classe vers une autre classe. Grâce à l'héritage, il devient donc possible de définir une nouvelle classe à partir d'une classe existante, à laquelle on ajoute de nouvelles fonctionnalités, c'est-à-dire, de nouvelles données (ou propriétés) et de nouvelles méthodes (ou comportements).
La nouvelle classe hérite les fonctionnalités de l'ancienne classe tout en le spécialisant. Dans ce cas, la classe héritée constitue donc une généralisation alors que la classe qui dérive par héritage constitue une spécialisation.
L'héritage organise les classes selon la relation est un. Il facilite la réutilisation et l'extensibilité de produits existants.
Pour mieux comprendre ce concept, je vous invite à consulter mon future article sur L'héritage.L'interface
Une interface regroupe un ensemble de méthodes (ou comportement) dite abstraites, c'est à dire non implémentées. Lorsqu'une classe implémente une interface, cela indique que la classe se dote d'un comportement supplémentaire par rapport à son comportement et à celui dont elle hérite déjà de ses superclasses (classes dont elle dérive par héritage, c'est-à-dire, sa superclasses immédiat, la superclasse de la superclasse, ... , etc).
Certains langages de P.O.O (comme par exemple, le C++) permettent l'héritage multiple, c'est à dire, qu'une classe peut hériter les fonctionnalités de plusieurs superclasses. Dans ces langage, une classe peut donc posséder plusieurs superclasses.
En java, l'héritage multiple n'est pas permis, en effet, pour les raisons de simplicité, Java, ne permet d'utiliser que l'héritage simple. Dans ce cas, une classe ne peut hériter les fonctionnalités que d'une seule superclasse.
L'héritage simple peut être restrictif, surtout quand-on veut construire une classe qui doit hériter les fonctionnalités de plusieurs classes. Pour résoudre ce problème. Java propose d'utiliser des interfaces, en effet, grâce aux interfaces, une classe peut combiner les comportements issus de plusieurs interfaces.
Le package
Un package permet de regrouper des classes et des interfaces. De la même manière que les classe qui permettent d'encapsuler les données, les packages peuvent être utilisés pour encapsuler des classes. Mais un package doit obligatoirement avoir au moins une classe public accessible depuis l'extérieur du package.
Les packages servent donc à protéger les classes, les données et les méthodes. Ils constituent des modules indépendants qu'il est facile d'intégrer et de réutiliser dans un nouveau programme.
Aucun commentaire:
Enregistrer un commentaire