Junior — Middle
Go тилинде мурасымчылык механизми кантип ишке ашырылат жана анын ишке ашыруу кандай?
sobes.tech AI
AIден жооп
Go тилинде классикалык мурас жок, обьектке багытталган тилдердегидей. Ордуна, композиция жана интерфейстер колдонулат.
-
Композиция: Структуралардын мурасынан башка, бир структураны башка структурага кошуп коюуга болот. Бул, жүрүм-турум жана маалыматтарды "энгизүүгө" мүмкүндүк берет.
-
Интерфейстер: Go, жүрүм-турумду сүрөттөө үчүн интерфейстерди колдонуп жатат. Интерфейстин методдорун ишке ашырган ар бир структура анын ишке ашырылышы деп саналат.
Композициянын мисалы:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "айтат")
}
type Dog struct {
Animal // структураны кошуу
}
func main() {
d := Dog{Animal{Name: "Bobby"}}
d.Speak() // Animal методун чакырат
}
Мындайча айтканда, Go классикалык мурас ордуна композиция жана интерфейстерди колдонууга үндөйт.