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 MainWir 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.