Sobes.tech
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.