Dans le langage Go, bien que le concept d'orienté objet ne soit pas explicitement proposé, sur la base de la conception syntaxique existante, nous pouvons également écrire du code orienté objet. Le langage Go orienté objet est implémenté à l’aide de la structure struct. (Apprentissage recommandé : GO )
Les deux types clés de Golang pour atteindre l'orientation objet sont Struct Et Interface Parmi eux. Contrairement au C++ qui utilise public/protected/private pour indiquer la visibilité des membres et des méthodes, Golang utilise des lettres majuscules et minuscules pour indiquer la visibilité, c'est-à-dire que les membres/méthodes commençant par des majuscules sont visibles par le monde extérieur. , tandis que ceux commençant par des lettres minuscules sont privés de la classe et ne sont pas directement accessibles de l'extérieur. De plus, il existe une autre différence importante entre Golang et C++ dans la définition des types de classe, c'est-à-dire que Golang n'a besoin que de déclarer les variables membres de la classe dans la structure, et n'a pas besoin de déclarer ou définissez toutes les méthodes dans le corps de la définition de classe, les définitions de méthodes sont toutes complétées en dehors de la structure.Golang définit les attributs de la classe via struct et définit les méthodes de la classe en passant l'objet de classe lors de la définition de func. Les attributs publics/privés des attributs et des méthodes sont déterminés par le cas. de la première lettre de.
type Student struct { name string age int major string }
Golang n'implémente pas entièrement l'héritage, mais l'implémente par combinaison. Une classe composite (sous-classe) peut appeler directement les méthodes publiques de la classe combinée (classe de base) et accéder aux propriétés publiques de la classe de base. Les sous-classes peuvent également définir leurs propres propriétés et implémenter leurs propres méthodes uniques.
L'une des philosophies de conception de Golang est la simplicité. Les attributs publics/privés des membres/méthodes sont distingués par cas, et l'héritage est réalisé par combinaison, qui sont toutes des incarnations de la philosophie de simplicité. Le type d'interface deGolang définit une classe de base abstraite, qui est un ensemble de méthodes. Tout type qui implémente pleinement ces méthodes est appelé la réalisation d'interface. Parce que l'abstraction et le polymorphisme se complètent, ou que le but de l'abstraction est d'atteindre le polymorphisme.
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!