Junior — Middle
Go dilinde kalıtım mekanizması nasıl gerçekleştirilir ve onun uygulaması nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde nesne yönelimli dillerdeki gibi klasik kalıtım yoktur. Bunun yerine, bileşim ve arayüzler kullanılır.
-
Bileşim: Yapıların kalıtımı yerine, bir yapıyı başka bir yapıya dahil edebilirsiniz. Bu, davranış ve verilerin "gömülmesine" olanak tanır.
-
Arayüzler: Go, davranışı tanımlamak için arayüzleri kullanır. Bir yapının arayüzün metodlarını uygulaması, onun arayüzü gerçekleştirdiği kabul edilir.
Bileşim örneği:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "konuşuyor")
}
type Dog struct {
Animal // Animal yapısının gömülmesi
}
func main() {
d := Dog{Animal{Name: "Bobby"}}
d.Speak() // Animal metodunu çağırır
}
Bu şekilde, Go, klasik kalıtım yerine bileşim ve arayüzlerin kullanımını teşvik eder.