OOPs en Java: Encapsulation, Héritage, Polymorphisme, Abstraction

Classé dans : Articles | 0

Dans le dernier article, nous avons discuté des concepts OOPs. Si vous ne l’avez pas encore vérifié, je vous recommande fortement de le lire afin d’avoir un aperçu de base de tous les concepts de programmation orientée objet. Dans ce guide, nous allons discuter de quatre caractéristiques importantes de OOPs à l’aide d’exemples réels.

Approche orientée objet : Une introduction

Java est un langage orienté objet car il fournit les fonctionnalités pour implémenter un modèle orienté objet., Ces caractéristiques comprennent L’Abstraction, l’encapsulation, l’héritage et le polymorphisme.

OOPS consiste à développer une application autour de ses données, c’est-à-dire des objets qui donnent accès à leurs propriétés et aux opérations possibles à leur manière.

Abstraction

L’un des concepts les plus fondamentaux de OOPs est L’Abstraction. L’Abstraction est un processus dans lequel vous n’affichez que des données « pertinentes” et « masquez” les détails inutiles d’un objet à l’utilisateur., Par exemple, lorsque vous vous connectez à votre compte Amazon en ligne, vous entrez votre user_id et votre mot de passe et appuyez sur connexion, ce qui se passe lorsque vous appuyez sur connexion, comment les données d’entrée envoyées au serveur Amazon, comment elles sont vérifiées sont toutes abstraites de vous.

Un autre exemple d’abstraction: Une voiture en elle-même est un objet bien défini, qui est composé de plusieurs autres objets plus petits comme un système d’engrenage, un mécanisme de direction, un moteur, qui ont à nouveau leurs propres sous-systèmes., Mais pour les humains, la voiture est un seul objet, qui peut être géré à l’aide de ses sous-systèmes, même si leurs détails intérieurs sont inconnus.

Encapsulation

Cet article fournit l’explication théorique de l’encapsulation avec des exemples réels. Pour une explication détaillée sur ce sujet avec les programmes java, reportez-vous à encapsulation en java avec exemple.

L’encapsulation consiste à:

  • Lier les données avec le code qui les manipule.
  • Il protège les données et le code des interférences externes

En regardant l’exemple d’un mécanisme de direction assistée d’une voiture., La direction assistée d’une voiture est un système complexe, qui a en interne beaucoup de composants étroitement couplés ensemble, ils travaillent de manière synchrone pour tourner la voiture dans la direction souhaitée. Il contrôle même la puissance délivrée par le moteur au volant. Mais le monde extérieur n’est qu’une interface est disponible et le reste de la complexité est cachée. De plus, l’unité de direction en elle-même est complète et indépendante. Il n’affecte pas le fonctionnement de tout autre mécanisme.

De même, le même concept d’encapsulation peut être appliqué au code., Le code encapsulé doit avoir les caractéristiques suivantes:

  • Tout le monde sait comment y accéder.
  • Peut être facilement utilisé indépendamment des détails d’implémentation.
  • Il ne devrait pas y avoir d’effets secondaires du code, pour le reste de l’application.

L’idée de l’encapsulation est de garder les classes séparées et de les empêcher d’être étroitement couplées les unes aux autres.

Un exemple d’encapsulation est la classe de java.util.Table de hachage. L’utilisateur sait seulement qu’il peut stocker des données sous la forme de paires clé/valeur dans une table de hachage et qu’il puisse récupérer les données de diverses manières., Mais l’implémentation réelle comme, comment et où ces données sont réellement stockées, est cachée à l’utilisateur. L’utilisateur peut simplement utiliser Hashtable partout où il veut stocker des paires Clé/Valeur sans se soucier de son implémentation.

Héritage

Cet article fournit l’explication théorique de l’héritage avec des exemples réels. Pour une explication détaillée sur ce sujet avec les programmes java, reportez-vous à héritage avec des exemples et des types d’héritage en java.

  • l’Héritage est le mécanisme par lequel un objet acquiert certaines/toutes les propriétés d’un autre objet.,
  • Il prend en charge le concept de classification hiérarchique.

Par exemple: Car est un véhicule à quatre roues, supposons donc que nous ayons une classe FourWheeler et une sous-classe de celle-ci nomméeCar. Ici Voiture acquiert les propriétés d’une classe FourWheeler. D’autres classifications pourraient être une jeep, tempo, van, etc. FourWheeler définit une classe de véhicules qui ont quatre roues et une gamme spécifique de puissance du moteur, de capacité de charge, etc., La voiture (appelée sous-classe) acquiert ces propriétés de FourWheeler et possède certaines propriétés spécifiques, différentes des autres classifications de FourWheeler, telles que le luxe, le confort, la forme, la taille, l’utilisation, etc.

Une voiture peut avoir une classification supplémentaire telle qu’une voiture ouverte, une petite voiture, une grande voiture, etc., qui acquerra les propriétés des Quatre roues et de la voiture, mais aura toujours des propriétés spécifiques. De cette façon, le niveau de hiérarchie peut être étendu à n’importe quel niveau.

Les classes Java Swing et Awt représentent les meilleurs exemples pour l’héritage.,

Polymorphisme

Cet article fournit l’explication théorique du polymorphisme avec des exemples réels. Pour une explication détaillée sur ce sujet avec les programmes java, reportez-vous à polymorphisme en java et runtime & polymorphisme au moment de la compilation.

  • Le polymorphisme signifie traiter les objets différemment en fonction de leur type de données.
  • En d’autres termes, cela signifie, une méthode avec plusieurs implémentations, pour une certaine classe d’action. Et quelle implémentation à utiliser est décidée à l’exécution en fonction de la situation (c’est-à-dire,, type de données de l’objet)
  • Cela peut être implémenté en concevant une interface générique, qui fournit des méthodes génériques pour une certaine classe d’action et il peut y avoir plusieurs classes, qui fournit l’implémentation de ces méthodes génériques.

Permet de regarder le même exemple d’une voiture. Une voiture a un système de transmission à engrenages. Il a quatre vitesses avant et une vitesse arrière. Lorsque le moteur est accéléré, en fonction de la vitesse engagée, une puissance et un mouvement différents sont fournis à la voiture., L’action est la même en appliquant un engrenage mais en fonction du type d’engrenage, l’action se comporte différemment ou vous pouvez dire qu’elle montre de nombreuses formes (le polymorphisme signifie de nombreuses formes)

Le polymorphisme peut être statique et dynamique à la fois. La surcharge de la méthode est un polymorphisme statique tandis que la substitution de la méthode est un polymorphisme dynamique.

  • Surcharger en mots simples signifie plus d’une méthode ayant le même nom de méthode qui se comporte différemment en fonction des arguments passés lors de l’appel de la méthode., Cela s’appelle static car, la méthode à invoquer est décidée au moment de la compilation
  • La substitution signifie qu’une classe dérivée implémente une méthode de sa super classe. L’appel à la méthode overriden est résolu à l’exécution, ainsi appelé polymorphisme d’exécution

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *