Comme son nom l'indique, la programmation orientée objet ou POO fait référence à des langages qui utilisent des objets en programmation. La programmation orientée objet vise à implémenter des entités du monde réel telles que l'héritage, le masquage, le polymorphisme, etc. dans la programmation. L'objectif principal de la POO est de relier les données et les fonctions qui y opèrent afin qu'aucune autre partie du code ne puisse accéder à ces données à l'exception de cette fonction.
Concepts de POO :
- Classe
- Objets
- Abstraction de données
- Encapsulation
- Héritage
- Polymorphisme
- Liaison dynamique
- Passage de messages
1. Classe :
Une classe est un type de données défini par l'utilisateur. Il se compose de données membres et de fonctions membres, accessibles et utilisées en créant une instance de cette classe. Il représente l'ensemble des propriétés ou méthodes communes à tous les objets d'un même type. Une classe est comme un modèle pour un objet.
liste des états
Par exemple: Considérez la classe de voitures. Il peut y avoir de nombreuses voitures avec des noms et des marques différents, mais elles partageront toutes des propriétés communes, comme elles auront toutes 4 roues, une limite de vitesse, une plage de kilométrage, etc. Donc ici, la voiture est la classe, et les roues, les limites de vitesse, le kilométrage sont leurs propriétés.
2. Objet :
Il s'agit d'une unité de base de la programmation orientée objet et représente les entités de la vie réelle. Un objet est une instance d'une classe. Lorsqu'une classe est définie, aucune mémoire n'est allouée mais lorsqu'elle est instanciée (c'est-à-dire qu'un objet est créé), la mémoire est allouée. Un objet a une identité, un état et un comportement. Chaque objet contient des données et du code pour manipuler les données. Les objets peuvent interagir sans avoir à connaître les détails des données ou du code de chacun, il suffit de connaître le type de message accepté et le type de réponse renvoyée par les objets.
Par exemple, le chien est un objet réel, qui possède certaines caractéristiques telles que la couleur, la race, l'écorce, le sommeil et la nourriture.

Objet
3. Abstraction des données :
L'abstraction des données est l'une des fonctionnalités les plus essentielles et les plus importantes de la programmation orientée objet. L'abstraction des données consiste à fournir uniquement des informations essentielles sur les données au monde extérieur, en masquant les détails de base ou la mise en œuvre. Prenons l’exemple réel d’un homme conduisant une voiture. L'homme sait seulement qu'appuyer sur les accélérateurs augmentera la vitesse de la voiture ou que l'application des freins arrêtera la voiture, mais il ne sait pas comment en appuyant sur l'accélérateur la vitesse augmente, il ne connaît pas le mécanisme interne de la voiture. ou la mise en place de l'accélérateur, des freins, etc. dans la voiture. C’est ça l’abstraction.
4. Encapsulation :
java convertir une chaîne en entier
L'encapsulation est définie comme le regroupement de données sous une seule unité. C'est le mécanisme qui lie le code et les données qu'il manipule. Dans l'encapsulation, les variables ou les données d'une classe sont masquées de toute autre classe et ne sont accessibles que via n'importe quelle fonction membre de leur classe dans laquelle elles sont déclarées. Comme dans l'encapsulation, les données d'une classe sont cachées des autres classes, c'est pourquoi on l'appelle également masquage de données .

Prenons un exemple réel d'encapsulation, dans une entreprise, il existe différentes sections comme la section comptabilité, la section finance, la section ventes, etc. La section finance gère toutes les transactions financières et conserve des enregistrements de toutes les données liées à la finance. De même, la section des ventes gère toutes les activités liées aux ventes et tient un registre de toutes les ventes. Il peut désormais arriver que, pour une raison quelconque, un responsable de la section des finances ait besoin de toutes les données sur les ventes d'un mois donné. Dans ce cas, il n’est pas autorisé à accéder directement aux données de la section vente. Il devra d'abord contacter un autre agent du service des ventes et lui demander ensuite de fournir les données particulières. C'est ce qu'est l'encapsulation. Ici, les données de la section des ventes et les employés qui peuvent les manipuler sont regroupées sous une seule section de vente.
5. Héritage :
L'héritage est un pilier important de la POO (Programmation Orientée Objet). La capacité d’une classe à dériver des propriétés et des caractéristiques d’une autre classe est appelée héritage. Lorsque nous écrivons une classe, nous héritons des propriétés des autres classes. Ainsi, lorsque nous créons une classe, nous n’avons pas besoin d’écrire encore et encore toutes les propriétés et fonctions, car celles-ci peuvent être héritées d’une autre classe qui la possède. L'héritage permet à l'utilisateur de réutiliser le code autant que possible et de réduire sa redondance.
dhanashree verma

6. Polymorphisme :
Le mot polymorphisme signifie avoir plusieurs formes. En termes simples, nous pouvons définir le polymorphisme comme la capacité d’un message à s’afficher sous plusieurs formes. Par exemple, une personne peut avoir des caractéristiques différentes en même temps. Comme un homme, il est à la fois père, mari et employé. Ainsi, la même personne a un comportement différent dans différentes situations. C'est ce qu'on appelle le polymorphisme.

7. Liaison dynamique :
Dans la liaison dynamique, le code à exécuter en réponse à l'appel de fonction est décidé au moment de l'exécution. La liaison dynamique signifie que le code associé à un appel de procédure donné n'est connu qu'au moment de l'appel au moment de l'exécution. Liaison de méthode dynamique L'un des principaux avantages de l'héritage est qu'une classe dérivée D possède tous les membres de sa classe de base B. Une fois que D ne cache aucun des membres publics de B, alors un objet de D peut représenter B dans n'importe quel contexte. où un B pourrait être utilisé. Cette caractéristique est connue sous le nom de polymorphisme de sous-type.
8. Passage de messages :
C'est une forme de communication utilisée dans la programmation orientée objet ainsi que dans la programmation parallèle. Les objets communiquent entre eux en s’envoyant et en recevant des informations. Un message pour un objet est une demande d'exécution d'une procédure et invoquera donc une fonction dans l'objet récepteur qui génère les résultats souhaités. Le passage de messages implique de spécifier le nom de l'objet, le nom de la fonction et les informations à envoyer.
Pourquoi avons-nous besoin d'une programmation orientée objet
- Pour rendre le développement et la maintenance des projets plus faciles.
- Fournir la fonctionnalité de masquage des données qui répond aux problèmes de sécurité.
- Nous pouvons résoudre des problèmes du monde réel si nous utilisons une programmation orientée objet.
- Il garantit la réutilisabilité du code.
- Cela nous permet d'écrire du code générique : qui fonctionnera avec une gamme de données, nous n'avons donc pas besoin d'écrire des éléments de base encore et encore.