Nous savons qu'il y a quatre piliers d'OPIS et nous avons appris l'encapsulation, quel est le deuxième ?
Eh bien, ça s'appelle de l'abstraction.
Une abstraction signifie cacher des informations ou soustraire des informations et donner accès uniquement à ce qui
est nécessaire.
Donc, peu importe ce qui intéresse l'utilisateur ou le programmeur ou la machine, c'est la seule chose à laquelle nous donnons
accès à tout le reste.
Nous le cachons en quelque sorte dans une couverture sous le capot parce que nos utilisateurs n'ont pas à s'en soucier.
Laissez-moi vous montrer ce que je veux dire.
Si je reviens à notre ancien exemple ici, au lieu d'avoir un dictionnaire, nous avons en fait
un personnage joueur avec un tas de méthodes.
Maintenant, l'abstraction peut en fait être vue ici, n'est-ce pas ?
Quand je fais.
Joueur un point parle, vous voyez l'abstraction en action parce que lorsque je clique sur exécuter.
Je reçois cette boisson, mais quand j'appelle parler, je ne me soucie pas vraiment de la façon dont Speek est mis en œuvre, tout ce que je
sais, c'est que le joueur un a accès à la méthode de parole et je peux l'utiliser.
Même chose avec quand j'utilise quelque chose comme un droit tuple.
Si j'en ai un, deux, trois et que je fais un point ici, je peux compter pour compter le nombre d'éléments dans le tuple.
Donc, si j'imprime et clique, lancez.
Eh bien, je dois lui donner une chose que nous recherchons dans notre cas, regardons-en une et ajoutons-en une
autre ici.
Si je clique, cours.
J'arrive maintenant à savoir comment la méthode de comptage a été implémentée ?
Non, je veux dire, je peux y aller, je peux regarder la documentation Python,
peut-être le code Python et comprendre comment cela compte réellement, mais je n'ai pas vraiment besoin d'écrire.
Si nous essayons de comprendre chaque petit morceau, nos têtes vont exploser.
Parfois, tout ce dont nous avons besoin, c'est d'une méthode ou d'un attribut et d'y avoir accès sans avoir à nous soucier de
la façon dont il est implémenté, ce qui est vraiment très agréable.
Il en va de même avec les fonctions intégrées, n'est-ce pas ?
Si je fais lenth ici et que je clique sur exécuter.
J'obtiens une longueur de quatre, mais je n'ai pas vraiment besoin de savoir comment LENTH a été implémenté en Python,
c'est une abstraction pour nous.
Et c'est le pouvoir de l'OLP, cela fait abstraction des choses dont nous n'avons pas besoin de nous soucier, ou du moins cela nous rend plus
efficaces pour que nous sachions que cela fonctionne d'une certaine manière et que nous ne perdons pas notre temps à
apprendre ou coder à partir de zéro.
Si nous avions notre iPhone, par exemple, la fonction appareil photo sur un iPhone, ce serait bien pour une application que nous
avons conçue pour l'utiliser.
Mais nous n'avons pas besoin de savoir exactement comment l'appareil photo de l'iPhone est codé sur un iPhone.
Non.
Au lieu de cela, l'iPhone nous donne généralement un moyen de dire le point de l'appareil photo, de prendre une photo.
Pour nous permettre de prendre une photo sans savoir comment les ingénieurs d'Apple ont en fait recouvert l'appareil photo, c'est donc
un concept très puissant.
OK, alors vous pensez, je pense que je vais avoir une distraction.
Mais laissez-moi vous demander ceci.
Pourrais-je simplement faire en sorte que le nom du joueur un soit égal à, disons, des points d'exclamation, puis le joueur dot run.
Ou, vous savez, moins parler équivaut à huer, assurez-vous que c'est le joueur un.
Eh bien, si maintenant j'imprime et fais le joueur un.
La pensée parle et j'essaie d'exécuter cette fonction.
Voyons voir.
J'obtiens que l'objet chaîne n'est pas appelable car parler a été modifié, parler a été modifié en une valeur
de chaîne au lieu de cette fonction réelle dont nous aurions eu besoin, de sorte que si je lance, en
vérifiant simplement l'attribut du haut-parleur, j'obtiens boo.
Hmmm, je veux dire, l'abstraction est bonne, mais attendez une seconde ici, c'est mauvais si j'ai une classe que j'ai abstraite,
mais n'importe qui peut venir, n'importe quel programmeur peut venir et supprimer tout mon travail acharné
et l'écraser comme ça.
N'est-ce pas si mal.
Faisons une pause et explorons un peu plus ce sujet dans la prochaine vidéo.