Heim >Backend-Entwicklung >Golang >Ist Golang objektorientiert?

Ist Golang objektorientiert?

(*-*)浩
(*-*)浩Original
2019-12-31 10:27:443107Durchsuche

Ist Golang objektorientiert?

Obwohl in der Go-Sprache das Konzept der Objektorientierung nicht explizit vorgeschlagen wird, können wir basierend auf dem vorhandenen Syntaxdesign auch objektorientierten Code schreiben. Objektorientiert in der Go-Sprache wird mithilfe der Strukturstruktur implementiert. (Empfohlenes Lernen: GO )

Die beiden Schlüsseltypen von Golang zum Erreichen der Objektorientierung sind Struct und Interface.

Im Gegensatz zu C++, das öffentlich/geschützt/privat verwendet, um die Sichtbarkeit von Mitgliedern und Methoden anzuzeigen, verwendet Golang Groß- und Kleinbuchstaben, um die Sichtbarkeit anzuzeigen, d. h. Mitglieder/Methoden, die mit Großbuchstaben beginnen, sind für die Außenwelt sichtbar , während diejenigen, die mit Kleinbuchstaben beginnen, für die Klasse privat sind und von außen nicht direkt zugänglich sind.

Darüber hinaus gibt es einen weiteren wichtigen Unterschied zwischen Golang und C++ in der Definition von Klassentypen: Golang muss nur die Mitgliedsvariablen der Klasse in der Struktur deklarieren und nicht oder Definieren Sie alle Methoden im Klassendefinitionskörper. Methodendefinitionen werden alle außerhalb der Struktur abgeschlossen.

Golang definiert die Attribute einer Klasse über struct und definiert die Methoden der Klasse durch Übergabe des Klassenobjekts bei der Definition von func. Die öffentlichen/privaten Attribute der Attribute und Methoden werden von der Groß-/Kleinschreibung bestimmt des ersten Buchstabens von.

type Student struct {
	name  string
	age   int
	major string
}

Golang implementiert die Vererbung nicht vollständig, sondern durch Kombination. Eine zusammengesetzte Klasse (Unterklasse) kann die öffentlichen Methoden der kombinierten Klasse (Basisklasse) direkt aufrufen und auf die öffentlichen Eigenschaften der Basisklasse zugreifen. Unterklassen können auch ihre eigenen Eigenschaften definieren und ihre eigenen eindeutigen Methoden implementieren.

Eine der Designphilosophien von Golang ist Einfachheit. Die öffentlichen/privaten Attribute von Mitgliedern/Methoden werden nach Fall unterschieden, und die Vererbung wird durch Kombination realisiert, was allesamt Verkörperungen der Einfachheitsphilosophie ist.

GOlangs Schnittstellentyp definiert eine abstrakte Basisklasse, bei der es sich um eine Reihe von Methoden handelt, die diese Methoden vollständig implementieren. Weil Abstraktion und Polymorphismus einander ergänzen oder der Zweck der Abstraktion darin besteht, Polymorphismus zu erreichen.

Das obige ist der detaillierte Inhalt vonIst Golang objektorientiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn