Sobes.tech
Junior — Middle

Как да реализираме извикване на метода на базовия клас от вграден компонент или структура?

sobes.tech AI

Отговор от AI

В Go вградените структури (embedding) позволяват включването на един тип в друг, което дава възможност за използване на методите на вградения тип директно. За да извикате метода на базовия (вградения) тип, можете да се обърнете към него чрез името на полето.

Пример:

package main

import "fmt"

type Base struct{}

func (b Base) Hello() {
    fmt.Println("Здравей от Base")
}

type Derived struct {
    Base
}

func (d Derived) Hello() {
    fmt.Println("Здравей от Derived")
    // Викаме метода на базовия тип
    d.Base.Hello()
}

func main() {
    d := Derived{}
    d.Hello()
}

В този пример, методът Hello на структурата Derived извиква метода Hello на вградения Base чрез d.Base.Hello(). По този начин, може явно да се извика методът на базовия клас от вградения компонент.