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