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-ի մեթոդները և կարող է օգտագործել դրանք ուղղակիորեն։