Qu'est-ce que l'abstraction dans les POO ? Classe et méthode abstraites Java
Qu'est-ce que l'abstraction en POO ?
Abstraction est le concept de programmation orientée objet qui "montre" uniquement les attributs essentiels et "cache" les informations inutiles. Le but principal de l'abstraction est de cacher les détails inutiles aux utilisateurs. L'abstraction sélectionne des données à partir d'un plus grand pool pour ne montrer que les détails pertinents de l'objet à l'utilisateur. Cela aide à réduire la complexité et les efforts de programmation. C'est l'un des concepts les plus importants des POO.
Cliquez ici si la vidéo n'est pas accessible
Étudions l'abstraction dans les POO avec un exemple :
Supposons que vous souhaitiez créer une application bancaire et qu'on vous demande de collecter toutes les informations sur votre client. Il y a des chances que vous trouviez les informations suivantes sur le client
Cependant, toutes les informations ci-dessus ne sont pas nécessaires pour créer une application bancaire.
Ainsi, vous devez sélectionner uniquement les informations utiles pour votre application bancaire dans ce pool. Des données comme le nom, l'adresse, les informations fiscales, etc. ont un sens pour une application bancaire qui est un exemple d'abstraction dans les POO
Étant donné que nous avons récupéré/supprimé/sélectionné les informations client à partir d'un plus grand pool, le processus est appelé abstraction dans OOPs.
Cependant, les mêmes informations une fois extraites peuvent être utilisées pour un large éventail d'applications. Par exemple, vous pouvez utiliser les mêmes données pour une application hospitalière, une application de portail d'emploi, une base de données gouvernementale, etc. avec peu ou pas de modification. Par conséquent, cela devient votre Master Data. C'est un avantage de l'abstraction dans les POO.
Différence entre abstraction et encapsulation
Abstraction | Encapsulation |
---|---|
L'abstraction dans la programmation orientée objet résout les problèmes au niveau de la conception. | L'encapsulation résout ce problème au niveau de la mise en œuvre. |
L'abstraction en programmation consiste à masquer les détails indésirables tout en affichant les informations les plus essentielles. | L'encapsulation signifie lier le code et les données en une seule unité. |
L'abstraction de données en Java permet de se concentrer sur ce que l'objet d'information doit contenir | L'encapsulation signifie cacher les détails internes ou les mécanismes de la façon dont un objet fait quelque chose pour des raisons de sécurité. |
Différence entre classe abstraite et interface
Classe abstraite | Interface |
---|---|
Une classe abstraite peut avoir à la fois des méthodes abstraites et non abstraites. | L'interface ne peut avoir que des méthodes abstraites. |
Il ne prend pas en charge les héritages multiples. | Il prend en charge plusieurs héritages. |
Il peut fournir l'implémentation de l'interface. | Il ne peut pas fournir l'implémentation de la classe abstraite. |
Une classe abstraite peut avoir des méthodes publiques protégées et abstraites. | Une interface ne peut avoir que des méthodes abstraites publiques. |
Une classe abstraite peut avoir une variable finale, statique ou statique finale avec n'importe quel spécificateur d'accès. | L'interface ne peut avoir qu'une variable finale statique publique. |
Qu'est-ce qu'une classe abstraite ?
Classe abstraite est un type de classe dans les POO, qui déclare une ou plusieurs méthodes abstraites. Ces classes peuvent avoir des méthodes abstraites ainsi que des méthodes concrètes. Une classe normale ne peut pas avoir de méthodes abstraites. Une classe abstraite est une classe qui contient au moins une méthode abstraite.
Que sont les méthodes abstraites ?
Méthode abstraite est une méthode qui n'a que la définition de la méthode mais ne contient pas d'implémentation. Une méthode sans corps est appelée méthode abstraite. Il doit être déclaré dans une classe abstraite. La méthode abstraite ne sera jamais finale car la classe abstraite doit implémenter toutes les méthodes abstraites.
Avantages de l'abstraction
- Le principal avantage de l'utilisation d'une abstraction en programmation est qu'elle vous permet de regrouper plusieurs classes apparentées en tant que frères et sœurs.
- L'abstraction dans la programmation orientée objet permet de réduire la complexité du processus de conception et de mise en œuvre des logiciels.
Quand utiliser les méthodes abstraites et la classe abstraite ?
Les méthodes abstraites sont principalement déclarées lorsque deux ou plusieurs sous-classes font également la même chose de différentes manières via différentes implémentations. Il étend également la même classe Abstract et propose différentes implémentations des méthodes abstraites.
Les classes abstraites aident à décrire les types génériques de comportements et la hiérarchie des classes de programmation orientée objet. Il décrit également les sous-classes pour offrir des détails d'implémentation de la classe abstraite.
Résumé :
- L'abstraction en programmation est le processus qui consiste à sélectionner des ensembles de données importants pour un objet dans votre logiciel et à omettre les insignifiants.
- Une fois que vous avez modélisé votre objet à l'aide de l'abstraction de données en Java, le même ensemble de données peut être utilisé dans différentes applications.
Java