La programmation orientée objet nous permet de créer des objets qui ont leurs propres méthodes comme run.
Et des attributs.
Propriétés.
C'est un excellent moyen d'ajouter plus de fonctionnalités à un langage et d'imiter le monde réel, par exemple, nous utilisons l'idée de
travailler pour une société de jeux.
Bien que Python ne nous ait donné que quelques types de données, j'ai pu créer un personnage de joueur.
Et maintenant, mon patron est content car ce personnage joueur peut être utilisé partout dans le jeu.
Et tous les autres codeurs doivent exécuter cette ligne avec le nom et l'âge personnalisés du personnage.
Ainsi, OP nous permet d'écrire du code reproductible, bien organisé et économe en mémoire.
Exact, parce que nous n'écrivons ceci qu'une seule fois.
Donc, si vous voulez être un grand développeur, OP est quelque chose que vous devez savoir
et que vous devez comprendre car, eh bien, c'est ainsi que vous voulez organiser votre code, en
pensant moins procédural et en pensant davantage en termes de fonctionnalité, de regroupement de données comme des attributs, ainsi que des méthodes
pour créer cette classe capable d'imiter quelque chose du monde réel.
Maintenant, je veux vous montrer un outil utile ici.
Nous avons vu que lorsque je fais player Dot, mon éditeur me montre ce dont je dispose, les propriétés, ainsi que
ces cases violettes, qui sont les méthodes dont je dispose.
Et dès le départ, vous voyez que j'ai un nom et que je cours, mais j'ai ensuite tous ces autres
que j'ai par défaut.
Maintenant, ce sont toutes des méthodes Dundar ou magiques dans lesquelles nous allons entrer.
Mais la clé ici est que si je fais quelque chose comme help, qui est une nouvelle fonction que
vous n'avez peut-être pas vue auparavant, et commentons-la.
Si je clique, cours.
En fait, j'obtiens, eh bien, le plan complet de l'objet.
Si je fais quelque chose comme une liste.
Et je clique sur exécuter.
Encore une fois, il montre le plan qu'il a et c'est un excellent moyen de voir quel plan de classe certains types
de données Python ont.
Maintenant, c'est quelque chose que nous reviendrons plus tard.
Mais je veux revenir sur ce personnage de joueur maintenant ici, nous avons vu que nous sommes capables de créer des
attributs et les attributs sont des éléments de données dynamiques.
C'est-à-dire que lorsque nous instancions un objet, ils seront uniques à cet objet spécifique comme le nom et
l'âge.
Et nous avons dû utiliser ce mot clé pour nous assurer qu'il était dynamique.
Cependant, il existe une autre chose appelée attribut d'objet de classe, et cela pourrait ressembler à ceci, disons que nous avions
le personnage du joueur et qu'il devait, disons, être un membre payant pour jouer à ce jeu.
Vous devez avoir joué ou vous devez avoir un abonnement.
Alors ayons une adhésion égale.
Vrai.
Attribute maintenant, contrairement à celui-ci, vous voyez qu'il est sur la même ligne que nos méthodes et cela
s'appelle un objet de classe.
Réellement.
Et un attribut d'objet de classe, contrairement à ces attributs de classe réguliers, est différent parce que, eh bien,
ce n'est pas dynamique, c'est statique.
Donc si je clique.
Exécutez ici et nous voulons nous assurer que nous imprimons quelque chose, alors imprimons le lecteur sur.
Et je clique sur exécuter.
Eh bien, je reçois le lecteur, c'est super, mais si je fais l'abonnement.
Et je clique sur exécuter.
Regardez ça, j'obtiens l'égalité à mâcher si je joue un joueur ici.
Aussi, et je clique sur exécuter.
J'arrive à obtenir que tous les joueurs aient une adhésion définie sur vrai, mais ce n'est pas dynamique.
C'est un attribut d'objet de classe, ce qui signifie que c'est un attribut réel sur cette classe.
Et c'est quelque chose que nous utilisons quand il n'y a pas de changement.
Cela va être vrai et exister pour tous les objets, donc vous ne pouvez pas vraiment le modifier, c'est juste que tous les objets
que nous instancions y auront accès.
Cela ne change donc pas d'une instance à l'autre et nous pouvons l'utiliser ici aussi ou n'importe où dans ce plan
de classe, en fait.
Par exemple, disons que nous voulions vérifier si.
L'adhésion existe, nous vérifions donc si l'adhésion est vraie.
Ce que je veux dire, c'est toujours le cas.
C'est donc un peu redondant, mais ici.
Je ne peux dire que si l'adhésion est vraie, alors je vais attribuer un nom et un âge, mais pour que nous puissions
accéder à l'adhésion, je devrai faire moi-même l'adhésion Dorte car rappelez-vous, Self fait référence à ce personnage de joueur
afin que si je lance ça.
Tout fonctionne toujours, et si je joue un nom de point.
Cela fonctionne toujours, ou je peux m'y référer par le personnage du joueur réel, donc le personnage du joueur, l'adhésion.
Donc, si je clique sur exécuter ici.
Cela fonctionne également car il s'agit d'un attribut d'objet de classe.
Si je devais peut-être dans la course, changeons cela pour crier et crier, ça va vouloir courir.
Supprimons cette ligne.
Il va s'imprimer.
Une chaîne F qui dit que mon nom est.
Et donnez-lui un nom, pensez-vous que cela fonctionnera, essayons, disons crier.
Et assurez-vous que nous exécutons cette méthode, puis cliquez à nouveau sur crier.
Si je clique, cours.
Je reçois un nom aérien n'est pas défini en ligne, 11, si je vais à la ligne onze ici.
Le nom n'est pas défini.
Pourquoi donc?
Eh bien, parce que nous ne nous sommes pas servis de nous-mêmes.
Alors faisons le nom du point d'auto.
Et si je clique sur exécuter.
Voilà.
Mon nom est Tom.
Je m'appelle Cindy.
OK, génial, et je peux vous en parler, car je le passe ici comme premier paramètre et toutes les méthodes reçoivent
le premier paramètre, un self afin que nous puissions les utiliser.
Mais pourrais-je simplement faire un joueur, un personnage, un nom de domaine si je clique sur exécuter ?
Je reçois un air play, un personnage n'a pas de nom d'attribut.
Maintenant, pourquoi est-ce?
Parce que le nom n'est pas un attribut d'objet de classe.
Ce n'est pas réellement une propriété ou un attribut du personnage du joueur.
Non, il est défini dans notre fonction constructeur sont la fonction init.
C'est donc un peu un piège ici et quelque chose que vous devrez vous habituer à un attribut d'objet de classe
est quelque chose qui ne change pas entre différentes instances par rapport à un attribut ou un attribut de classe
est quelque chose de dynamique et spécifique à chaque classe objet.
La façon dont nous y accédons est différente, où nous pouvons réellement accéder à l'adhésion comme celle-ci, mais pour que nous puissions
accéder à un nom ou à un âge n'importe où dans notre classe, nous devons utiliser le nom de selfie, c'est pourquoi chaque
fois que nous créons un méthode dans une classe, même si j'en crée une nouvelle ici et disons
que cette nouvelle va être exécutée.
Eh bien, encore une fois, je dois m'utiliser comme paramètre et puis tout ce que je veux ajouter.
Et ici.
Comme deuxième paramètre, de sorte que lorsque je clique, disons exécuter.
Je passe dans le.
Bonjour, argument comme celui-ci.
Je sais que c'est beaucoup, mais j'espère que vous commencez à suivre les règles des cours une fois que vous vous
en souvenez, cela deviendra de plus en plus facile.
Mais nous allons pratiquer cela un peu plus dans la prochaine vidéo.