Sobes.tech
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 классикалык мурас ордуна композиция жана интерфейстерди колдонууга үндөйт.