Maison> développement back-end> Golang> le corps du texte

Implémentation d'encapsulation de la fonction golang dans la programmation orientée objet

PHPz
Libérer: 2024-05-02 18:21:01
original
1071 Les gens l'ont consulté

L'encapsulation orientée objet est implémentée via des fonctions du langage Go. Créez d’abord un objet de définition de type personnalisé, puis utilisez une méthode wrapper de fonction avec des paramètres de pointeur. Accédez et modifiez l’état des objets via des paramètres de pointeur pour améliorer la réutilisabilité et la maintenabilité du code.

Implémentation dencapsulation de la fonction golang dans la programmation orientée objet

Implémentation de l'encapsulation des fonctions du langage Go dans la programmation orientée objet

L'encapsulation est un principe important dans la programmation orientée objet (POO), qui nous permet de lier des données et des méthodes entre elles pour former un objet. Dans le langage Go, les fonctions peuvent être utilisées pour implémenter l'encapsulation.

Créer un objet

Tout d'abord, nous devons créer un type personnalisé qui représente l'objet :

type Person struct { name string age int }
Copier après la connexion

Le typePersondéfinit un objet avec deux champsnomet < objet code >âge.Person类型定义了一个具有两个字段nameage的对象。

使用函数封装方法

接下来,我们可以创建函数来封装与Person类型关联的方法。例如,创建一个获取对象名称的方法:

func (p *Person) GetName() string { return p.name }
Copier après la connexion

注意,方法接收了一个指向对象指针的指针参数*Person,因为我们希望能够修改对象的状态。

实战案例

我们可以在以下示例程序中展示如何使用封装:

package main import "fmt" type Person struct { name string age int } func (p *Person) GetName() string { return p.name } func main() { person := Person{ name: "John Doe", age: 25, } name := person.GetName() fmt.Println("Name:", name) }
Copier après la connexion

在这个示例中:

  • 我们创建了一个Person类型对象person
  • 使用GetName()
  • Utilisation des méthodes d'encapsulation de fonctions

Ensuite, nous pouvons créer des fonctions pour encapsuler les méthodes associées au typePerson. Par exemple, créez une méthode qui récupère le nom d'un objet :

Name: John Doe
Copier après la connexion

Notez que la méthode reçoit un paramètre de pointeur*Personqui pointe vers un pointeur vers l'objet, car nous voulons pouvoir modifier l'état de l'objet.

Cas pratique

Nous pouvons montrer comment utiliser l'encapsulation dans l'exemple de programme suivant : rrreeeDans cet exemple :
  • On crée un objet de typePersonperson.
  • Utilisez la méthodeGetName()pour obtenir et imprimer le nom de l'objet. Le résultat sera : rrreeeConclusionEn utilisant des fonctions, nous pouvons créer des méthodes encapsulées pour les types personnalisés en langage Go. Cela nous permet de contrôler l'accès aux données des objets et d'améliorer la réutilisabilité et la maintenabilité du code.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!