Junior — Middle
Wie wird das Vererbungsmechanismus in der Programmiersprache Go umgesetzt und wie sieht seine Implementierung aus?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go gibt es keine klassische Vererbung wie in objektorientierten Sprachen. Stattdessen werden Komposition und Schnittstellen verwendet.
-
Komposition: Anstelle von Vererbung können Strukturen in andere eingebunden werden. Dies ermöglicht es, Verhalten und Daten "einzubetten".
-
Schnittstellen: Go verwendet Schnittstellen, um Verhalten zu beschreiben. Jede Struktur, die die Methoden einer Schnittstelle implementiert, gilt als deren Implementierung.
Beispiel für Komposition:
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: "Bobby"}}
d.Speak() // ruft die Methode Animal auf
}
Auf diese Weise fördert Go die Verwendung von Komposition und Schnittstellen anstelle der klassischen Vererbung.