Junior — Middle
Ist es möglich, einen Vererbungsmechanismus in der Programmiersprache Go zu implementieren?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go gibt es keine klassische Vererbung wie in objektorientierten Sprachen wie Java oder C++. Stattdessen verwendet Go Komposition und Embedding von Strukturen, um Code wiederzuverwenden und Funktionalitäten zu erweitern.
Zum Beispiel kann man eine Struktur in eine andere einbetten, und die Methoden der eingebetteten Struktur werden über die äußere Struktur zugänglich:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "sagt")
}
type Dog struct {
Animal // Einbettung der Struktur Animal
}
func main() {
d := Dog{Animal{Name: "Bobic"}}
d.Speak() // ruft die Methode Speak der Struktur Animal auf
}
Auf diese Weise wird in Go ein Verhalten erreicht, das der Vererbung ähnelt, aber durch Komposition umgesetzt wird, was ein flexibleres und einfacheres Design fördert.