human
Qu'est-ce que le code orienté objet ? J'en ai entendu parler mais je ne trouve pas d'explication que je comprenne Expliquez comme si j'avais cinq ans.
gpt
Le code orienté objet est une façon de construire un programme à travers la métaphore et la modélisation. Si nous avons une voiture dans notre modèle, nous pouvons définir un objet voiture dans notre programme au lieu de quelque chose qui soit représentatif d'une voiture. Il est également très utile d'encapsuler des choses afin que vous puissiez garder les processus séparés (et donc réutilisables plus tard). Regardons un exemple de ce qu'un objet peut faire dans le code. Nous voulons écrire Cat Simulator 3000 parce que nous savons qu'Internet est obsédé par les chats et nous pourrions gagner de l'argent si nous pouvions créer un programme qui simule le comportement d'un chat. Maintenant, nous avons une idée de l'heure à laquelle notre scénario va se dérouler. Nous avons un chat, il miaule, il ronronne, il mange, il dort, il nettoie et il boit. Puisqu'il est capable de manger, nous devons définir un objet de ce qu'il est réellement capable de manger. Parce que c'est le chat parfait , on peut laisser de côté les toilettes et les vomissements ( à moins que vous ne choisissiez le réalisme mais , nous savons qu'internet n'aime pas non plus le réalisme ) . Ce que le code orienté objet nous permet de faire, c'est de définir un objet chat dans le code cat Ralphy // dans ce cas nous avons créé un chat et l'avons nommé ralphy Alors maintenant nous pouvons dire à Ralphy de faire les choses Ralphy.sleep ( ) // Dit à Ralphy d'exécuter sa fonction de sommeil Ralphy.wakeUp ( ) // Dit à Ralphy d'exécuter sa fonction de réveil catFood fancyFeast // Crée un nouvel objet catFood appelé fancyFeast Ralphy.eat(fancyFeast ) // Dit à Ralphy d'exécuter sa fonction de manger / fancyFeast comme entrée Ralphy.purr ( ) // Dit à Ralphy d' exécuter sa fonction ronronner Maintenant , voici comment créer un objet et l' utiliser dans un programme . Mais comment le programme sait-il ce qu'est un chat ? Eh bien, c'est dans la définition de la classe. Considérez-le comme un plan d'un objet. Notre classe de chat peut donc ressembler à ceci . class cat { private : bool isFull bool isSleeping bool isTired public : void sleep ( ) void wakeUp ( ) void eat(catFood food ) void purr ( ) } ; Attendez , c'est quoi ce " privé : " et ce " public : " qui se passe ? C'est une façon de garder le fonctionnement interne de cat à l'intérieur de l'objet. La seule chose qu'un programmeur peut faire avec l'objet, ce sont les choses du domaine public. Cela maintient les variables internes stables. Alors maintenant , qu'en est - il du code réel qui se met en veille ? Et le réveil ? Nous pouvons les définir comme ceci void cat::sleep ( ) { if ( isSleeping ) print("Le chat dort déjà " ) ; else { print("Chat s'est endormi" ); isSleeping = true ; } } Parce que les fonctions sont définies comme faisant partie de la classe cat , elles ont accès aux données privées . Alors maintenant, nous pouvons écrire des fonctions publiques pour éditer les données privées. Étant donné que les données doivent passer par une fonction, nous pouvons utiliser cette fonction pour vérifier et nous assurer que les données sont des données valides pour la variable que nous voulons définir. ( Dans un autre court exemple , si nous avions un objet pistolet , nous ne voudrions pas que quelqu'un règle le nombre de balles sur ce qu'il veut . Un pistolet avec 10 000 cartouches n'a aucun sens . Nous forçons donc le programmeur utilisant l'objet pistolet à doivent appeler la fonction de rechargement qui s'assure qu'ils ne mettent qu'un maximum de 12 balles). Donc de toute façon, j'espère que cela aide. Si vous avez d'autres questions sur la programmation orientée objet, je serais heureux d'y répondre.