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 bieten eine Struktur zum Gruppieren von Code in wiederverwendbare und anpassbare Module. Golang hat seine eigene unverwechselbare Syntax, Funktionen und Philosophie. Im Gegensatz zu anderen Sprachen ist die Lösung bei den Begriffen von nicht so offensichtlich Klasse Und Objekt In Gehen . In diesem Artikel werden wir untersuchen, ob Go ein Konzept von hat Klasse und ein Objekt und wie es im Vergleich zu anderen Programmiersprachen abschneidet.

Was ist eine Klasse und ein Objekt?

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

Strukturen in Golang

In Los, Klassen werden durch benutzerdefinierte Datentypen namens ersetzt Strukturen. Diese Strukturen Kombinieren Sie mehrere Elemente oder Eigenschaften und ermöglichen Sie die Einbeziehung von Methoden – Funktionen, die auf Instanzen von operieren 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 einzigartige Methode, die den Zustand eines Objekts bei der Erstellung initialisiert, wie sie typischerweise in klassenbasierten Sprachen zu finden ist.







Schnittstellen in Golang

Gehen hat ein Konzept, das ähnlich ist Objekte : Schnittstellen . Ein Schnittstelle ist eine Sammlung von Methoden, die ein Verhalten oder eine Funktionalität beschreiben, ohne jedoch anzugeben, wie es implementiert wird. Schnittstellen bieten eine Möglichkeit, Polymorphismus in zu erreichen Gehen , sodass verschiedene Typen austauschbar verwendet werden können, wenn sie die Anforderungen der Schnittstelle erfüllen. Dies ist ein leistungsstarkes Konzept, das ermöglicht Gehen um ein hohes Maß an Flexibilität und Erweiterbarkeit zu erreichen, ohne Leistung oder Einfachheit zu opfern.



Verwendung von Strukturen und Schnittstellen in Golang

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



Paket Haupt
importieren 'fmt'

Typ Mensch Struktur {
Namenskette
}

Geben Sie Arbeiter ein Struktur {
Menschlich
Job-String
}

Funk ( h Mensch ) Die Info ( ) {
fmt. Druckf ( 'Ich bin %s \N ' , H. Name )
}

Funk ( w Arbeiter ) Die Info ( ) {
fmt. Druckf ( „Ich bin %s. Ich bin ein %s. \N ' , In. Name , In. Arbeit )
}

Typ Personenschnittstelle {
Die Info ( )
}
funcmain ( ) {
John := Arbeiter { Menschlich { 'John' } , 'Arbeiter' }
Damhirschkuh := Menschlich { 'Damhirschkuh' }

John. Die Info ( )
Damhirschkuh. Die Info ( )

war persönlich

ich = John
ich. Die Info ( )

ich = Damhirschkuh
ich. Die Info ( )
}

Wir haben zwei erstellt Strukturen , Menschlich Und Arbeiter , im obigen Code. Anschließend werden die Funktionen erstellt, die die Nachrichten drucken. Der Strukturen heißen im hauptsächlich () Funktion der Person Schnittstelle . Wir können sehen, dass die Die Info Methode wurde sowohl von der implementiert Arbeiter und das Menschlich , also die Variable i mit dem Typ Person Schnittstelle korrekt funktioniert und die Ausgabe druckt.





Ausgang



Gehen hat einen einzigartigen Ansatz Verkapselung . Verkapselung wird in der konventionellen objektorientierten Programmierung erreicht, indem Felder privat gemacht und durch 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 direkter und eindeutiger, wodurch das Verhalten des Codes einfacher zu verstehen ist und die Möglichkeit unvorhergesehener Nebenwirkungen verringert wird.

Gehen bietet eine vereinfachte Form von Polymorphismus . Die objektorientierte Programmierung hat eine Funktion namens Polymorphismus Dadurch können Objekte aus verschiedenen Klassen als Instanzen derselben Klasse behandelt werden. Gehen bietet keine herkömmliche klassenbasierte Vererbung, unterstützt jedoch Schnittstellen, die verwendet werden können, um eine Reihe von Methoden anzugeben, die eine Struktur implementieren muss. Gehen bietet auch Typzusicherungen, 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 unter Entwicklern an Popularität gewonnen, die Einfachheit, Lesbarkeit und Leistung priorisieren, indem sie eine andere Philosophie und Grammatik annehmen. Obwohl zum Kennenlernen Los Methodik einige Zeit in Anspruch nehmen kann, führen ihre Besonderheiten und ihr Design zu effektiverem und wartbarerem Code.