object oriented programming c
Introduction à la programmation orientée objet en C ++.
Avec ce didacticiel, nous commençons une série de didacticiels pour en savoir plus sur C ++ en tant que langage de programmation orienté objet.
Comme nous le savons, avant la programmation orientée objet (POO), les programmes étaient écrits en utilisant des langages procéduraux. Les langages procéduraux mettent l'accent sur les fonctions. Les plus gros problèmes sont décomposés en sous-problèmes plus petits et écrits sous forme de fonctions.
=> Voir ici pour explorer la liste complète des didacticiels C ++.
Les langages procéduraux ne prêtaient pas attention aux données. En conséquence, la possibilité de ne pas traiter le problème de manière efficace était élevée. De plus, comme les données étaient presque négligées, la sécurité des données était facilement compromise.
Tous ces inconvénients de la programmation procédurale ont été surmontés par la programmation orientée objet.
Dans ce tutoriel, nous aborderons les principes de base de la programmation orientée objet et en bref toutes les fonctionnalités de la POO.
Ce que vous apprendrez:
- Programmation orientée objet en C ++
- Pourquoi C ++ est une POO partielle?
- Caractéristiques de la POO
- Avantages de la POO
- Conclusion
- lecture recommandée
Programmation orientée objet en C ++
La programmation orientée objet tourne autour des données. La principale unité de programmation de la POO est l'objet. Un objet est une représentation d'une entité en temps réel et se compose de données et de méthodes ou de fonctions qui opèrent sur des données. De cette façon, les données et les fonctions sont étroitement liées et la sécurité des données est assurée.
En POO, tout est représenté comme un objet et lorsque les programmes sont exécutés, les objets interagissent les uns avec les autres en passant des messages. Un objet n'a pas besoin de connaître les détails d'implémentation d'un autre objet pour communiquer.
Outre les objets, la POO prend en charge diverses fonctionnalités répertoriées ci-dessous:
- Des classes
- Encapsulation
- Abstraction
- Héritage
- Polymorphisme
En utilisant la POO, nous écrivons des programmes en utilisant des classes et des objets en utilisant les fonctionnalités ci-dessus. Un langage de programmation est considéré comme un véritable langage de programmation orienté objet si tout ce qu'il représente utilise un objet. Smalltalk est un langage qui est un pur langage de programmation orienté objet.
D'un autre côté, les langages de programmation comme C ++ et Java sont considérés comme des langages de programmation partiellement orientés objet.
Pourquoi C ++ est une POO partielle?
Le langage C ++ a été conçu avec l'intention principale d'utiliser des fonctionnalités orientées objet dans le langage C.
Bien que le langage C ++ prenne en charge les fonctionnalités de la POO comme les classes, les objets, l'héritage, l'encapsulation, l'abstraction et le polymorphisme, il existe peu de raisons pour lesquelles C ++ est classé comme un langage de programmation orienté objet partiel.
quel est le meilleur nettoyeur d'ordinateur
Nous présentons quelques-unes de ces raisons ci-dessous:
# 1) La création de classe / objets est facultative
En C ++, la fonction principale est obligatoire et est toujours en dehors de la classe. Par conséquent, nous ne pouvons avoir qu'une seule fonction principale dans le programme et nous pouvons nous passer de classes et d'objets.
C'est la première violation du langage Pure OOP où tout est représenté comme un objet.
# 2) Utilisation de variables globales
C ++ a un concept de variables globales qui sont déclarées en dehors du programme et qui sont accessibles par toute autre entité du programme. Cela viole l'encapsulation. Bien que C ++ prenne en charge l'encapsulation en ce qui concerne les classes et les objets, il ne s'en occupe pas dans le cas de variables globales.
# 3) Présence d'une fonction d'ami
C ++ prend en charge une classe ou une fonction amie qui peut être utilisée pour accéder aux membres privés et protégés d'autres classes en en faisant un ami. C'est encore une autre fonctionnalité de C ++ qui viole le paradigme de la POO.
Pour conclure, bien que C ++ prenne en charge toutes les fonctionnalités de POO mentionnées ci-dessus, il fournit également des fonctionnalités qui peuvent agir comme une solution de contournement pour ces fonctionnalités, afin que nous puissions nous en passer. Cela fait de C ++ un langage de programmation partiellement orienté objet.
Caractéristiques de la POO
Ici, nous allons présenter diverses fonctionnalités de POO utilisées pour la programmation.
Classes et objets
Un objet est une unité de base dans la programmation orientée objet. Un objet contient des données et des méthodes ou des fonctions qui opèrent sur ces données. Les objets prennent de la place en mémoire.
Une classe, en revanche, est un plan de l'objet. Inversement, un objet peut être défini comme une instance d'une classe. Une classe contient un squelette de l'objet et ne prend aucun espace dans la mémoire.
Prenons un Exemple d'un objet de voiture. Un objet voiture nommé «Maruti» peut avoir des données telles que la couleur; marque, modèle, limite de vitesse, etc. et fonctions comme accélérer. Nous définissons un autre objet «gué». Cela peut avoir des données et des fonctions similaires à celles de l'objet précédent, ainsi que quelques ajouts supplémentaires.
De même, nous pouvons avoir de nombreux objets de noms différents ayant des données et des fonctions similaires et quelques variations mineures.
Ainsi, au lieu de définir ces données et fonctions similaires dans ces différents objets, nous définissons un plan de ces objets qui est une classe appelée Car. Chacun des objets ci-dessus sera des instances de cette voiture de classe.
Abstraction
L'abstraction est le processus consistant à cacher des informations non pertinentes à l'utilisateur. Par exemple , lorsque nous conduisons la voiture, nous démarrons d'abord le moteur en insérant une clé. Nous ne sommes pas au courant du processus qui se déroule en arrière-plan pour démarrer le moteur.
En utilisant l'abstraction dans la programmation, nous pouvons cacher des détails inutiles à l'utilisateur. En utilisant l'abstraction dans notre application, l'utilisateur final n'est pas affecté même si nous modifions l'implémentation interne.
Encapsulation
L'encapsulation est le processus par lequel les données et les méthodes ou fonctions opérant sur elles sont regroupées. En faisant cela, les données ne sont pas facilement accessibles au monde extérieur. Dans la POO, nous réalisons l'encapsulation en rendant les membres de données privés et en ayant des fonctions publiques pour accéder à ces membres de données.
Héritage
L'utilisation d'un objet d'héritage d'une classe peut hériter ou acquérir les propriétés de l'objet d'une autre classe. L'héritage permet la réutilisation du code.
En tant que tel, nous pouvons concevoir une nouvelle classe en acquérant les propriétés et les fonctionnalités d'une autre classe et dans ce processus, nous n'avons pas besoin de modifier la fonctionnalité de la classe parente. Nous ajoutons uniquement de nouvelles fonctionnalités à la classe.
Polymorphisme
Le polymorphisme signifie de nombreuses formes.
Le polymorphisme est une caractéristique importante de la POO et est généralement implémenté sous forme de surcharge d'opérateur ou de surcharge de fonction. La surcharge d'un opérateur est un processus dans lequel un opérateur se comporte différemment dans différentes situations. De même, dans la surcharge de fonctions, la même fonction se comporte différemment dans différentes situations.
Liaison dynamique
La POO prend en charge la liaison dynamique dans laquelle l'appel de fonction est résolu au moment de l'exécution. Cela signifie que le code à exécuter à la suite d'un appel de fonction est décidé au moment de l'exécution. Les fonctions virtuelles sont un exemple de liaison dynamique.
Message passant
En POO, les objets communiquent entre eux à l'aide de messages. Lorsque les objets communiquent, les informations sont transmises entre les objets. Un message se compose généralement du nom de l'objet, du nom de la méthode et des données réelles qui doivent être envoyées à un autre objet.
Avantages de la POO
Laissez-nous discuter de certains des avantages de la POO.
# 1) Réutilisabilité
meilleure application de gestion de projet pour iphone
La POO permet au code existant d'être réutilisé par héritage. Nous pouvons facilement acquérir la fonctionnalité existante et l'améliorer sans avoir à réécrire le code à nouveau. Cela se traduit par un code moins gonflé.
# 2) Modularité
Au fur et à mesure que nous modulons le programme en POO, il est facile de modifier ou de dépanner le programme en cas de problème ou d’ajout d’une nouvelle fonctionnalité ou d’une amélioration. La modularisation contribue également à la clarté du code et le rend plus lisible.
# 3) Flexibilité
La POO nous aide avec une programmation flexible utilisant la fonction de polymorphisme. Le polymorphisme prenant de nombreuses formes, nous pouvons avoir des opérateurs ou des fonctions qui fonctionneront avec de nombreux objets et nous éviteront ainsi d'écrire des fonctions différentes pour chaque objet.
# 4) Maintenabilité
La maintenance du code est plus facile car il est facile d'ajouter de nouvelles classes, objets, etc. sans trop de restructuration ou de changements.
# 5) Masquage des données et des informations
La POO nous aide à cacher les données, protégeant ainsi les informations contre les fuites. Seules les données nécessaires au bon fonctionnement du programme sont exposées à l'utilisateur en masquant les détails intrinsèques.
Conclusion
La POO est le paradigme de programmation le plus important et le plus flexible de la programmation moderne. Il est particulièrement utile pour modéliser des problèmes du monde réel et est donc très populaire.
Nous avons discuté des différentes fonctionnalités de la POO dans ce didacticiel. À l'avenir, nous discuterons de toutes ces fonctionnalités en détail.
La rubrique suivante de cette série «POO avec C ++» se concentrera sur les classes et les objets en détail.
=> Cliquez ici pour la série de formations Absolute C ++.
lecture recommandée
- OOP Java: Introduction à la programmation orientée objet en Java
- Types de données C ++
- Top 10 des outils de science des données en 2021 pour éliminer la programmation
- Abstraction de données en C ++
- Introduction aux structures de données en C ++
- Tutoriel Unix Pipes: Pipes dans la programmation Unix
- Tutoriel QTP # 8 - En savoir plus sur les modes d'enregistrement QTP, l'espion d'objets et les référentiels d'objets
- 70+ MEILLEURS tutoriels C ++ pour apprendre la programmation C ++ gratuitement