- Programmation orientée objet
- Avantage des POO par rapport au langage de programmation orienté procédure
- Différence entre le langage de programmation orienté objet et basé sur les objets.
Dans cette page, nous découvrirons les bases des POO. La programmation orientée objet est un paradigme qui fournit de nombreux concepts, tels que héritage , liaison de données , polymorphisme , etc.
début est considéré comme le premier langage de programmation orienté objet. Le paradigme de programmation où tout est représenté comme un objet est connu comme un véritable langage de programmation orienté objet.
Petite conversation est considéré comme le premier langage de programmation véritablement orienté objet.
Les langages orientés objet les plus populaires sont Java , C# , PHP , Python , C++ , etc.
L'objectif principal de la programmation orientée objet est d'implémenter des entités du monde réel, par exemple un objet, des classes, une abstraction, un héritage, un polymorphisme, etc.
alternative à xampp
POO (Système de Programmation Orienté Objet)
Objet désigne une entité du monde réel telle qu'un stylo, une chaise, une table, un ordinateur, une montre, etc. Programmation orientée objet est une méthodologie ou un paradigme pour concevoir un programme utilisant des classes et des objets. Il simplifie le développement et la maintenance des logiciels en fournissant quelques concepts :
Outre ces concepts, d'autres termes sont utilisés dans la conception orientée objet :
- Couplage
- Cohésion
- Association
- Agrégation
- Composition
Objet
Toute entité qui a un état et un comportement est appelée un objet. Par exemple, une chaise, un stylo, une table, un clavier, un vélo, etc. Cela peut être physique ou logique.
Un objet peut être défini comme une instance d'une classe. Un objet contient une adresse et occupe de l'espace en mémoire. Les objets peuvent communiquer sans connaître les détails des données ou du code de chacun. La seule chose nécessaire est le type de message accepté et le type de réponse renvoyée par les objets.
Exemple: Un chien est un objet car il a des états comme la couleur, le nom, la race, etc. ainsi que des comportements comme remuer la queue, aboyer, manger, etc.
Classe
Collection d'objets s'appelle la classe. C'est une entité logique.
Une classe peut également être définie comme un modèle à partir duquel vous pouvez créer un objet individuel. La classe ne consomme aucun espace.
Héritage
Lorsqu'un objet acquiert toutes les propriétés et comportements d'un objet parent , c’est ce qu’on appelle l’héritage. Il permet la réutilisabilité du code. Il est utilisé pour obtenir un polymorphisme d'exécution.
Polymorphisme
Si une tâche est exécutée de différentes manières , on parle de polymorphisme. Par exemple : convaincre le client différemment, dessiner quelque chose, par exemple une forme, un triangle, un rectangle, etc.
En Java, nous utilisons la surcharge et le remplacement de méthodes pour obtenir le polymorphisme.
Un autre exemple peut être de dire quelque chose ; par exemple, un chat parle miaou, un chien aboie ouaf, etc.
Abstraction
Masquer les détails internes et afficher les fonctionnalités est connu sous le nom d’abstraction. Par exemple un appel téléphonique, nous ne connaissons pas le traitement interne.
En Java, nous utilisons une classe abstraite et une interface pour réaliser l'abstraction.
alphabet en numéro
Encapsulation
La liaison (ou l'encapsulation) du code et des données dans une seule unité est connue sous le nom d'encapsulation. . Par exemple, une capsule est enveloppée de différents médicaments.
Une classe Java est l'exemple d'encapsulation. Le bean Java est la classe entièrement encapsulée car toutes les données membres sont ici privées.
Couplage
Le couplage fait référence à la connaissance, à l'information ou à la dépendance d'une autre classe. Cela survient lorsque les classes sont conscientes les unes des autres. Si une classe possède les informations détaillées d’une autre classe, il existe un couplage fort. En Java, nous utilisons des modificateurs privés, protégés et publics pour afficher le niveau de visibilité d'une classe, d'une méthode et d'un champ. Vous pouvez utiliser des interfaces pour le couplage le plus faible car il n'y a pas d'implémentation concrète.
Cohésion
La cohésion fait référence au niveau d'un composant qui exécute une seule tâche bien définie. Une seule tâche bien définie est réalisée selon une méthode hautement cohérente. La méthode faiblement cohésive divisera la tâche en parties distinctes. Le package java.io est un package très cohérent car il possède des classes et une interface liées aux E/S. Cependant, le package java.util est un package faiblement cohérent car il comporte des classes et des interfaces sans rapport.
Association
L'association représente la relation entre les objets. Ici, un objet peut être associé à un ou plusieurs objets. Il peut y avoir quatre types d'association entre les objets :
- Un par un
- Un à plusieurs
- Plusieurs contre un, et
- Plusieurs à plusieurs
Comprenons la relation avec des exemples en temps réel. Par exemple, un pays peut avoir un premier ministre (un à un) et un premier ministre peut avoir plusieurs ministres (un à plusieurs). En outre, de nombreux députés peuvent avoir un premier ministre (plusieurs à un), et de nombreux ministres peuvent avoir plusieurs départements (plusieurs à plusieurs).
L'association peut être non directionnelle ou bidirectionnelle.
Agrégation
L'agrégation est un moyen de réaliser l'association. L'agrégation représente la relation dans laquelle un objet contient d'autres objets dans le cadre de son état. Il représente la faible relation entre les objets. Il est également qualifié de a un relation en Java. Par exemple, l'héritage représente le est un relation. C'est une autre façon de réutiliser des objets.
Composition
La composition est aussi un moyen de réaliser l’Association. La composition représente la relation dans laquelle un objet contient d'autres objets dans le cadre de son état. Il existe une relation forte entre l’objet contenant et l’objet dépendant. C'est l'état dans lequel les objets contenant n'ont pas d'existence indépendante. Si vous supprimez l'objet parent, tous les objets enfants seront automatiquement supprimés.
Avantage des POO par rapport au langage de programmation orienté procédure
1) Les POO facilitent le développement et la maintenance, alors que, dans un langage de programmation orienté procédures, il n'est pas facile à gérer si le code augmente à mesure que la taille du projet augmente.
2) Les POO permettent de masquer les données, alors que, dans un langage de programmation orienté procédures, les données globales sont accessibles de n'importe où.
Figure : Représentation des données dans la programmation orientée procédures
Figure : Représentation des données dans la programmation orientée objet
3) Les POO offrent la possibilité de simuler des événements du monde réel beaucoup plus efficacement. Nous pouvons fournir la solution à un problème réel si nous utilisons le langage de programmation orienté objet.
Quelle est la différence entre un langage de programmation orienté objet et un langage de programmation basé sur les objets ?
Le langage de programmation basé sur les objets suit toutes les fonctionnalités des POO, à l'exception de l'héritage. JavaScript et VBScript sont des exemples de langages de programmation basés sur les objets.
Savez-vous?
- Pouvons-nous surcharger la méthode main ?
- Un constructeur Java renvoie une valeur mais quoi ?
- Pouvons-nous créer un programme sans méthode principale ?
- Quelles sont les six façons d’utiliser ce mot-clé ?
- Pourquoi l’héritage multiple n’est-il pas pris en charge en Java ?
- Pourquoi utiliser l'agrégation ?
- Pouvons-nous remplacer la méthode statique ?
- Quel est le type de retour covariant ?
- Quelles sont les trois utilisations du super mot-clé Java ?
- Pourquoi utiliser le bloc d'initialisation d'instance ?
- A quoi sert une variable finale vide ?
- Qu'est-ce qu'un marqueur ou une interface balisée ?
- Qu'est-ce que le polymorphisme d'exécution ou l'envoi de méthodes dynamiques ?
- Quelle est la différence entre la liaison statique et dynamique ?
- Comment le downcasting est-il possible en Java ?
- A quoi sert un constructeur privé ?
- Qu’est-ce que le clonage d’objet ?
- Avantage des POO
- Convention de dénomination
- Objet et classe
- Surcharge de méthode
- Constructeur
- mot-clé statique
- ce mot-clé avec six utilisations
- Héritage
- Agrégation
- Remplacement de méthode
- Type de retour covariant
- super mot-clé
- Bloc d'initialisation d'instance
- mot-clé final
- Classe abstraite
- Interface
- Polymorphisme d'exécution
- Liaison statique et dynamique
- Downcasting avec l'opérateur instanceof
- Emballer
- Modificateurs d'accès
- Encapsulation
- Clonage d'objets