Sobes.tech
Middle

Ինչպե՞ս կարելի է օգտագործել ինտեգրված կառուցվածքները՝ ժառանգությունը իմիտացիայի համար Go-ում։

sobes.tech AI

Պատասխան AI-ից

Go լեզվում չկա դասական ժառանգություն, ինչպես օբյեկտային-կողմնորոշված լեզուներում, բայց կարող եք օգտագործել ներքին կառուցվածքներ (embedding), որպեսզի պատճենեք ժառանգությունը: Դա իրականացվում է մի կառուցվածքի ներքին ներառմամբ մյուսի մեջ առանց դաշտի անունը նշելու, ինչը թույլ է տալիս "ժառանգել" ներքին կառուցվածքի մեթոդները:

Օրինակ՝

package main
import "fmt"

type Animal struct {
    Name string
}

func (a Animal) Speak() {
    fmt.Println(a.Name, "խոսում է")
}

type Dog struct {
    Animal // ներքին կառուցվածք
    Breed string
}

func main() {
    d := Dog{
        Animal: Animal{Name: "Bobby"},
        Breed:  "Շնաձուկ",
    }
    d.Speak() // կանչել Animal մեթոդը Dog-ի միջոցով
}

Այսպիսով, Dog "ժառանգում" է Animal-ի մեթոդները և կարող է օգտագործել դրանք ուղղակիորեն։