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-ն խթանում է կոմպոզիցիայի և ինտերֆեյսների օգտագործումը դասական ժառանգության փոխարեն։