Junior — Middle
Kā tiek īstenots mantošanas mehānisms Go valodā un kāda ir tā īstenošana?
sobes.tech AI
Atbilde no AI
Go valodā nav klasiskās mantošanas, kā objektorientētajās valodās. Tā vietā tiek izmantota kompozīcija un saskarnes.
-
Kompozīcija: Tā vietā, lai manto struktūras, var iekļaut vienu struktūru citā. Tas ļauj "iekļaut" uzvedību un datus.
-
Saskarnes: Go izmanto saskarnes, lai aprakstītu uzvedību. Ik viena struktūra, kas īsteno saskarnes metodes, tiek uzskatīta par tās īstenojumu.
Kompozīcijas piemērs:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "runā")
}
type Dog struct {
Animal // iekļaušana struktūras Animal
}
func main() {
d := Dog{Animal{Name: "Bobby"}}
d.Speak() // izsauc Animal metodi
}
Tādējādi, Go veicina kompozīcijas un saskarnes izmantošanu vietā, lai būtu klasiskā mantošana.