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(). По този начин, може явно да се извика методът на базовия клас от вградения компонент.