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 // дохил кардани структураи Animal
}

func main() {
    d := Dog{Animal{Name: "Bobby"}}
    d.Speak() // ба методи Animal даъват мекунад
}

Тавре ки мебинем, Go истифодаи композиция ва интерфейсҳоро дар ҷойи наслеҳии классикӣ ташвиқ мекунад.