Sobes.tech
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.