Python est orienté objet. Dès le début de sa conception, le langage Python s'est positionné comme un langage de programmation orienté objet. « Tout en Python est un objet » est l'interprétation parfaite du langage de programmation Python. Les classes et les objets sont des fonctionnalités importantes de Python. Comparé à d'autres langages orientés objet, Python peut facilement créer une classe et un objet. En même temps, Python prend également en charge les trois fonctionnalités principales de l'orientation objet : l'encapsulation, l'héritage et le polymorphisme.
L'environnement d'exploitation de ce tutoriel : système windows7, version python3, ordinateur DELL G3
Bien que Python soit un langage interprété, le langage Python s'est positionné comme un langage de programmation orienté objet au début de sa conception, "Python "Tout est objet" est une interprétation parfaite du langage de programmation Python.
Qu'est-ce que l'orientation objet
La programmation orientée objet est développée sur la base de la programmation orientée processus. Elle est plus flexible et évolutive que la programmation orientée processus. La programmation orientée objet constitue un tournant dans le développement des programmeurs. De nombreux débutants abandonnent l'apprentissage de la programmation parce qu'ils ne comprennent pas la programmation orientée objet.
La programmation orientée objet (POO en abrégé) est une méthode d'encapsulation de code. En fait, dans l'étude des chapitres précédents, nous avons déjà été exposés à l'encapsulation. Par exemple, jeter des données désordonnées dans une liste est une simple encapsulation, qui est l'encapsulation au niveau des données. aussi une sorte d'encapsulation, au niveau de l'instruction.
L'encapsulation du code cache en fait le code spécifique qui implémente la fonction, ne laissant que l'interface à l'utilisateur. Tout comme avec un ordinateur, l'utilisateur n'a besoin d'utiliser que le clavier et la souris pour implémenter certaines fonctions sans savoir ce qu'il contient. .Comment ça marche.
La programmation orientée objet est aussi une idée d'encapsulation, mais elle est évidemment plus avancée que les deux encapsulations ci-dessus. Elle peut mieux simuler des choses dans le monde réel (les traiter comme des objets) et combiner des données décrivant des caractéristiques avec. Les blocs de code (fonctions) sont encapsulés ensemble.
Par exemple, si vous concevez un personnage de tortue dans un jeu, comment devez-vous l'implémenter ? Il sera plus simple d'utiliser la pensée orientée objet, qui peut être décrite sous les deux aspects suivants :
Décrit à partir de caractéristiques de surface, par exemple, vert, a 4 pattes, pèse 10 kg, a une coquille, etc.
Décrivez-le en fonction de ses comportements, par exemple, il peut ramper, manger, dormir, rétracter sa tête et ses membres dans sa coquille, etc.
Si la tortue est représentée par du code, ses caractéristiques de surface peuvent être représentées par des variables, et ses caractéristiques comportementales peuvent être représentées en établissant diverses fonctions. Le code de référence est le suivant :
class tortoise: bodyColor = "绿色" footNum = 4 weight = 10 hasShell = True #会爬 def crawl(self): print("乌龟会爬") #会吃东西 def eat(self): print("乌龟吃东西") #会睡觉 def sleep(self): print("乌龟在睡觉") #会缩到壳里 def protect(self): print("乌龟缩进了壳里")
Notez que le code ci-dessus sert uniquement à démontrer des idées de programmation orientée objet.
Par conséquent, d'un certain point de vue d'un programme, l'utilisation de la pensée orientée objet peut mieux simuler des choses dans la vie réelle que l'utilisation uniquement de variables ou de fonctions.
De plus, en Python, toutes les variables sont en fait des objets, y compris les entiers (int), les types à virgule flottante (float), les chaînes (str), les listes (list), les tuples (tuple), les dictionnaires ( dict) et les collections ( ensemble). Prenons l'exemple du dictionnaire (dict). Il contient plusieurs fonctions que nous pouvons utiliser, par exemple, utilisez clés() pour obtenir toutes les clés du dictionnaire, utilisez valeurs() pour obtenir toutes les valeurs du dictionnaire et. utilisez item() pour obtenir toutes les clés du dictionnaire, paires de valeurs, etc.
Termes liés à l'orientation objet
Avant d'apprendre systématiquement la programmation orientée objet, les débutants doivent comprendre certains termes relatifs à l'orientation objet. Connaître la terminologie correcte est utile lorsque l'on discute de code avec d'autres ou lorsque l'on essaie de trouver des solutions aux problèmes que nous rencontrons.
Dans le domaine de l'orientation objet, les termes courants incluent :
Classe : elle peut être comprise comme un modèle à travers lequel d'innombrables instances spécifiques peuvent être créées. Par exemple, la tortue écrite précédemment ne représente que l'espèce de tortue, à travers laquelle d'innombrables instances peuvent être créées pour représenter des tortues présentant diverses caractéristiques (ce processus est également appelé instanciation d'une classe).
Object : Les classes ne peuvent pas être utilisées directement, seules les instances (également appelées objets) créées via la classe peuvent être utilisées. C'est un peu comme la relation entre les dessins de voitures et les voitures. Le dessin lui-même (classe) ne peut pas être utilisé par les gens, seule une voiture (objet) créée à travers le dessin peut être utilisée.
Attributs : Toutes les variables d'une classe sont appelées attributs. Par exemple, dans la classe tortoise, bodyColor, footNum, poids et hasShell sont toutes des propriétés appartenant à cette classe.
Méthodes : Toutes les fonctions d'une classe sont généralement appelées méthodes. Cependant, contrairement aux fonctions, les méthodes de classe doivent contenir au moins un paramètre self (nous y reviendrons plus tard). Par exemple, dans la classe tortoise, crawl(), eat(), sleep() et protector() sont toutes des méthodes appartenant à cette classe. Les méthodes de classe ne peuvent pas être utilisées seules et ne peuvent être utilisées qu'avec des objets de la classe.
Fonctionnalités orientées objet de Python :
Les classes et les objets sont des fonctionnalités importantes de Python. Par rapport à d'autres langages orientés objet, Python peut facilement créer une classe et un objet. Dans le même temps, Python prend également en charge les trois caractéristiques majeures de l’orientation objet : l’encapsulation, l’héritage et le polymorphisme.
Encapsulation
Le terme objet (Objet) dans la programmation orientée objet peut essentiellement être considéré comme un ensemble de données (propriétés) et une série de méthodes qui peuvent accéder et exploiter ces données. Au sens traditionnel, « programme =
structure de données + algorithme » est encapsulé, « dissimulé » et simplifié en « programme = objet + message ». Les objets sont des instances de classes et l'abstraction des classes doit être encapsulée. L'encapsulation permet à l'appelant d'utiliser l'objet directement sans se soucier de la façon dont l'objet est construit.
Héritage
Héritage de classe :
L'héritage donne aux gens le sentiment direct qu'il s'agit d'un comportement de réutilisation de code. L'héritage peut être compris comme l'établissement d'un objet de classe spécial basé sur une classe ordinaire. La sous-classe a une relation IS-A avec la classe parent dont elle hérite.
Héritage multiple :
Contrairement à C#, Python prend en charge l'héritage de classes multiples (C# peut hériter de plusieurs interfaces, mais d'au plus une classe). Le mécanisme d’héritage multiple est parfois utile, mais il peut facilement compliquer les choses.
Polymorphisme
Le polymorphisme signifie que la même opération peut être utilisée sur différents objets, mais ils peuvent présenter des résultats sous plusieurs formes. En Python, le polymorphisme est utilisé chaque fois que vous ne savez pas de quel type est un objet, mais que vous avez besoin que l'objet fasse quelque chose. Les méthodes sont polymorphes, tout comme les opérateurs.
【Recommandation associée : Tutoriel vidéo Python3】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!