Was ist eine Klasse und ein Objekt in Golang?

Was ist eine Klasse und ein Objekt in Golang?
Grundlegende Ideen in der Computerprogrammierung wie Klasse Und Objekt Stellen Sie eine Struktur zum Gruppieren von Code in wiederverwendbare und anpassbare Module bereit. Golang hat seine eigene charakteristische Syntax, Merkmale und Philosophie. Im Gegensatz zu anderen Sprachen ist die Lösung nicht so offensichtlich, wenn es um die Konzepte von geht Klasse Und Objekt In Gehen. In diesem Artikel werden wir untersuchen, ob Go ein Konzept von hat Klasse und ein Objekt und wie es sich mit anderen Programmiersprachen vergleicht.

Was ist eine Klasse und ein Objekt?

Bevor wir antworten können, ob Gehen hat Klassen Und Objekte, Wir müssen zunächst definieren, was sie im Kontext der Programmierung sind. A Klasse ist ein Modell oder eine Vorlage, die die Eigenschaften und Aktionen einer Sammlung von beschreibt Objekte. Ein Objekt wird als Instanz von a erstellt Klasse Wenn das Speicher zugewiesen wird und sein Zustand zur Laufzeit initialisiert wird. Klassen Und Objekte sind wichtige Bausteine ​​in klassischen objektorientierten Programmiersprachen wie Java, C ++ oder C#, die Polymorphismus, Vererbung und Einkapselung unterstützen.

Strukturen in Golang

In Gehen Sie, Klassen werden durch benutzerdefinierte Datentypen ersetzt, die genannt werden Strukturen. Diese Strukturen Kombinieren Sie mehrere Elemente oder Eigenschaften und ermöglichen Sie die Einbeziehung von Methoden - Funktionen, die an Instanzen der betrieben werden Struktur. Während Strukturen teilen einige Ähnlichkeiten mit Klassen Wie Vererbung und Schnittstellen gibt es auch bemerkenswerte Unterschiede. Zum Beispiel, Gehen hat keinen Konstruktor - eine eindeutige Methode, die den Zustand eines Objekts bei der Erstellung initialisiert, wie es normalerweise in klassenbasierten Sprachen vorkommt.

Schnittstellen in Golang

Gehen hat ein Konzept, das wie ist Objekte: Schnittstellen. Ein Schnittstelle ist eine Sammlung von Methoden, die ein Verhalten oder eine Funktionalität beschreiben, ohne festzustellen, wie es implementiert wird. Schnittstellen bieten eine Möglichkeit, Polymorphismus in zu erreichen Gehen, Ermöglichen, dass verschiedene Typen austauschbar verwendet werden, wenn sie die Anforderungen der Schnittstelle erfüllen. Dies ist ein mächtiges Konzept, das es ermöglicht Gehen Ein hohes Maß an Flexibilität und Erweiterbarkeit zu erreichen, ohne die Leistung oder Einfachheit zu beeinträchtigen.

Verwendung von Strukturen und Schnittstellen in Golang

Das folgende Beispiel zeigt die Verwendung von Struktur Und Schnittstellen In Gehen.

Paket Main
importieren "fmt"
Geben Sie menschliche Strukturen ein
Name Zeichenfolge

Geben Sie die Worker struct ein
Menschlich
Job String

func (h mensch) info ()
fmt.Printf ("Ich bin %s \ n", h.Name)

Func (W Worker) info ()
fmt.Printf ("Ich bin %s. Ich bin wie.\ n ", w.Name, w.Arbeit)

Geben Sie eine Personschnittstelle ein
Die Info()

funcmain ()
John: = Arbeiter Human "John", "Arbeiter"
Doe: = human "doe"
John.Die Info()
Damhirschkuh.Die Info()
var i Person
I = John
ich.Die Info()
i = doe
ich.Die Info()

Wir haben zwei geschaffen Strukturen, Menschlich Und Arbeiter, im obigen Code. Die Funktionen, die die Nachrichten drucken. Der Strukturen werden in der gerufen hauptsächlich() Funktion des Person Schnittstelle. Wir können sehen, dass das die Die Info Methode wurde von beiden implementiert Arbeiter und das Menschlich, Daher die Variable I mit dem Typ Person Die Schnittstelle funktioniert korrekt und druckt die Ausgabe aus.

Ausgang

Gehen hat einen einzigartigen Ansatz zu Verkapselung. Verkapselung wird in herkömmlichen objektorientierten Programmierungen erreicht, indem Felder privat gemacht und sie über Getter- und Setter-Methoden zugänglich gemacht werden. In Gehen, Verkapselung wird durch die Verwendung von Feldnamen in Kleinbuchstaben erreicht, die nur innerhalb desselben Pakets sichtbar sind. Diese Strategie ist einfacher und eindeutiger, was es einfacher macht zu verstehen, wie sich der Code verhält und die Möglichkeit unvorhergesehener Nebenwirkungen senkt.

Gehen Bietet eine vereinfachte Form von Polymorphismus. Objektorientierte Programmierung hat eine Funktion namens namens Polymorphismus Dadurch können Objekte aus verschiedenen Klassen als Instanzen derselben Klasse behandelt werden. Gehen Bietet nicht die konventionelle klassenbasierte Vererbung, unterstützt jedoch Schnittstellen, mit denen eine Reihe von Methoden angegeben werden können, die eine Struktur implementieren muss. Gehen Bietet auch Typbehauptungen, mit denen Programmierer den Inhalt einer Schnittstellenvariablen untersuchen und den zugrunde liegenden konkreten Wert erhalten können.

Abschluss

Gehen hat nicht Klassen oder Objekte im klassischen Sinne; Stattdessen verwendet es Strukturen Und Schnittstellen, die vergleichbare Funktionen auf einfachere und leichtere Weise bieten. Gehen hat bei Entwicklern, die Einfachheit, Lesbarkeit und Leistung priorisieren, durch Einbeziehung einer anderen Philosophie und Grammatik an Popularität gewonnen. Obwohl wir uns kennenlernen Go ist Die Methodik könnte einige Zeit dauern, seine charakteristischen Merkmale und das Design führen zu effektiverem und wartbareren Code.