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-и сохтори дохилшударо тавассути d.Base.Hello() даъват мекунад. Ин роҳ имкон медиҳад, ки ба таври ошкоро методи синфи асосиро аз компоненте, ки дохил шудааст, даъват кард.