Introduction aux classes et attributs
1. Présentation
1. Définir la classe (class Dog(object)) --> Instancier (d = Dog()) ---> )
2. Constructeur __init__()
3. self.name = nom des attributs de classe et des variables membres
4. >
2. Accéder aux propriétés de la classe
class Role(object): def __init__(self, name, role, weapon, life_value=100, money=15000): self.name = name self.role = role self.weapon = weapon self.life_value = life_value self.money = money def shot(self): print("%s is shooting..." % self.name) def got_shot(self): print("ah...,%s got shot..." % self.name) def buy_gun(self, gun_name): print("%s just bought %s" % (self.name,gun_name)) r1 = Role('Alex', 'police', 'AK47') # 生成一个角色 r2 = Role('Jack', 'terrorist', 'B22') # 生成一个角色
Nous utilisons un objet instance .
propriétés/méthodes d'accèsr1.shot() # 调用shot 方法 r2.buy_gun('B13') # 调用 buy_gun的方法并传参 print(r1.role) # 打印类的属性 # 输出 Alex is shooting... Jack just bought B13 police
Dans l'exemple ci-dessus, nous avons changé l'arme du personnage r2, à savoir B22 --> B13. Mais en fait, quand on appelle les attributs d'arme du personnage r2, on constatera que son arme n'a pas changé :
En fait, on peut directement changer les attributs de l'objet lors de l'achat de l'arme :r2.buy_gun('B13') print(r2.weapon) # 输出 Jack just bought B13 B22 # 可以发现武器依然是 B22
def buy_gun(self, gun_name): print("%s just bought %s" % (self.name, gun_name)) self.weapon = gun_name # 在方法内改变属性 r2.buy_gun('B13') print(r2.weapon) #输出 Jack just bought B13 B13 # 可以发现武器已经改变
3.1. attributs privés
Une fois les attributs d'une classe définis comme attributs privés, ils ne peuvent pas être appelés en externe ni modifiés à volonté. Les propriétés privées ne peuvent être utilisées qu'au sein de la classe.
Le résultat de l'opération est qu'il est possible d'accéder au nom de l'attribut, mais une erreur est signalée lors de l'accès direct à l'attribut privé self.__address. Mais si vous utilisez d’autres méthodes, vous pouvez toujours y accéder.class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address # 定义一个私有属性 def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') print(p1.name) print(p1.__address) # 访问私有属性 # 输出 Bigberg File "G:/python/untitled/study6/类的私有属性.py", line 17, in <module> print(p1.__address) AttributeError: 'Person' object has no attribute '__address'
3.2. La méthode get accède aux propriétés privées
Les propriétés privées ne sont pas accessibles directement de l'extérieur, mais elles sont accessibles à l'intérieur de la classe, afin que nous puissions définir une méthode pour obtenir des propriétés privées.
class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address def get_private(self): return self.__address def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') res = p1.get_private() print(res) # 输出 hz
On peut également utiliser une méthode pour forcer l'accès aux attributs privés attributs , et même modifier la valeur des propriétés privées. Méthode : nom de l'objet._nom de la classe__nom de l'attribut. Les classes
class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address def get_private(self): return self.__address def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') print(p1._Person__address) # 访问私有属性 print("----change----") p1._Person__address = 'BJ' # 修改私有属性 print(p1._Person__address) #输出 hz ----change---- BJ
sont des outils importants pour simplifier et optimiser les applications.
1. Héritage : la capacité des sous-classes à hériter des caractéristiques des classes parentes. Il incarne et étend le partage de méthodes de programmation orientées objet, permettant aux objets du même type de partager des données et du code de programme, améliorant ainsi la réutilisabilité des programmes. La classe parent est une classe qui peut être définie davantage pour dériver de nouvelles classes, et la sous-classe est une nouvelle classe établie en utilisant d'autres classes comme point de départ et en définissant des caractéristiques plus spécifiques. 2. Polymorphisme : certaines classes associées contiennent des méthodes portant le même nom, mais le contenu des méthodes peut être différent. Celui à appeler est déterminé au moment de l'exécution en fonction de la classe de l'objet. Le même message peut conduire à différentes actions lorsqu'il est reçu par différents objets. 3. Abstraction : extraire les caractéristiques distinctives d'une classe ou d'un objet sans traiter d'autres informations sur la classe ou l'objet.
4. Résumé
1. Définir les attributs privés : self.__private_attr_name = private_attr_name
2. Accéder aux attributs privés : nom de l'objet._nom de la classe__nom de l'attribut (d._dog__sex)
3. Fournir un accès à l'interface externe en lecture seule :
def. get_sex(self):
return self.__sex
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tout le monde sait qu'il existe de nombreuses versions du système Win7, telles que la version Win7 Ultimate, la version Win7 Professional, la version Win7 Home, etc. De nombreux utilisateurs sont coincés entre la version Home et la version Ultimate et ne savent pas quelle version choisir. alors aujourd'hui, je vais vous parler des différences entre Win7 Family Meal et Win7 Ultimate. Jetons un coup d'œil. 1. Experience Different Home Basic Edition rend vos opérations quotidiennes plus rapides et plus simples et vous permet d'accéder plus rapidement et plus facilement à vos programmes et documents les plus fréquemment utilisés. Home Premium vous offre la meilleure expérience de divertissement, permettant de profiter et de partager facilement vos émissions de télévision, photos, vidéos et musiques préférées. L'Ultimate Edition intègre toutes les fonctions de chaque édition et possède toutes les fonctions de divertissement et fonctionnalités professionnelles de Windows 7 Home Premium.

Comprendre les fonctionnalités clés de SpringMVC : pour maîtriser ces concepts importants, des exemples de code spécifiques sont nécessaires. SpringMVC est un cadre de développement d'applications Web basé sur Java qui aide les développeurs à créer des structures flexibles et évolutives via le modèle architectural Model-View-Controller (MVC). application Web. Comprendre et maîtriser les fonctionnalités clés de SpringMVC nous permettra de développer et de gérer nos applications Web plus efficacement. Cet article présentera quelques concepts importants de SpringMVC

Avec le développement rapide d'Internet, les langages de programmation évoluent et se mettent à jour constamment. Parmi eux, le langage Go, en tant que langage de programmation open source, a attiré beaucoup d'attention ces dernières années. Le langage Go est conçu pour être simple, efficace, sûr et facile à développer et à déployer. Il présente les caractéristiques d'une concurrence élevée, d'une compilation rapide et d'une sécurité de la mémoire, ce qui le rend largement utilisé dans des domaines tels que le développement Web, le cloud computing et le big data. Cependant, il existe actuellement différentes versions du langage Go disponibles. Lors du choix d’une version linguistique Go appropriée, nous devons prendre en compte à la fois les exigences et les fonctionnalités. tête

Il n'y a pas de concept de classe au sens traditionnel dans Golang (langage Go), mais il fournit un type de données appelé structure, à travers lequel des fonctionnalités orientées objet similaires aux classes peuvent être obtenues. Dans cet article, nous expliquerons comment utiliser les structures pour implémenter des fonctionnalités orientées objet et fournirons des exemples de code concrets. Définition et utilisation des structures Examinons d'abord la définition et l'utilisation des structures. Dans Golang, les structures peuvent être définies via le mot-clé type, puis utilisées si nécessaire. Les structures peuvent contenir des attributs

Les trois caractéristiques de la 5G sont : 1. Haut débit ; dans les applications pratiques, la vitesse du réseau 5G est plus de 10 fois supérieure à celle du réseau 4G. 2. Faible latence : la latence du réseau 5G est d'environ plusieurs dizaines de millisecondes, ce qui est plus rapide que la vitesse de réaction humaine. 3. Une connexion étendue ; l’émergence du réseau 5G, combinée à d’autres technologies, créera une nouvelle scène de l’Internet des objets.

Les fonctions C++ ont les types suivants : fonctions simples, fonctions const, fonctions statiques et fonctions virtuelles ; les fonctionnalités incluent : les fonctions en ligne, les paramètres par défaut, les retours de référence et les fonctions surchargées. Par exemple, la fonction calculateArea utilise π pour calculer l'aire d'un cercle d'un rayon donné et la renvoie en sortie.

Les caractéristiques de Java sont : 1. Simple et facile à apprendre 2. Orienté objet, rendant le code plus réutilisable et maintenable 3. Indépendant de la plate-forme, capable de fonctionner sur différents systèmes d'exploitation 4. Gestion de la mémoire, via des déchets automatiques ; mécanisme de collecte Gérer la mémoire 5. Vérification de type forte, les variables doivent déclarer leur type avant utilisation 6. Sécurité, qui peut empêcher l'accès non autorisé et l'exécution de code malveillant 7. Prise en charge du multithread, qui peut améliorer les performances et la réactivité du programme ; 8. La gestion des exceptions peut éviter les plantages du programme ; 9. Un grand nombre de bibliothèques et de frameworks de développement ;

En tant que langage de programmation rapide et efficace, Golang est également largement utilisé dans le domaine du développement Web. Parmi eux, le middleware, en tant que modèle de conception important, peut aider les développeurs à mieux organiser et gérer le code, et à améliorer la réutilisabilité et la maintenabilité du code. Cet article présentera les principales fonctionnalités et scénarios d'application du middleware dans Golang, et illustrera son utilisation à travers des exemples de code spécifiques. 1. Le concept et la fonction du middleware En tant que composant plug-in, le middleware se situe dans la chaîne de traitement requête-réponse de l'application.
