Sobes.tech
Junior — Middle

Nesne yönelimli programlamada kalıtımın mekanizması ve özelliklerini açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesne yönelimli programlamada (OOP), kalıtım, mevcut bir sınıf temel alınarak yeni bir sınıf oluşturmayı ve onun özellikleri ile metodlarını devralmayı sağlar. Bu, kodun yeniden kullanılmasını ve nesnelerin hiyerarşik organizasyonunu teşvik eder.

Kalıtım özellikleri:

  • Sınıf hiyerarşisi: alt sınıf (kalıtım alan) üst sınıfın (ebeveyn) davranışını genişletebilir veya yeniden tanımlayabilir.
  • Polimorfizm: alt sınıf nesneleri, üst sınıf nesnesinin beklendiği yerlerde kullanılabilir.
  • Kapsülleme: kalıtım, veri gizleme ilkesini ihlal etmez, ancak alt sınıf, üst sınıfın korumalı ve genel üyelerine erişebilir.

Go'da doğrudan sınıf kalıtımı yoktur, ancak bileşim ve arayüzler benzer desenleri uygulamaya olanak tanır.

Bileşim ile Go örneği:

 type Animal struct {
    Name string
}

func (a Animal) Speak() string {
    return "..."
}

// Dog, gömme yoluyla Animal'den "miras" alır
// ve Speak metodunu yeniden tanımlayabilir

type Dog struct {
    Animal
}

func (d Dog) Speak() string {
    return "Woof!"
}

func main() {
    dog := Dog{Animal{Name: "Buddy"}}
    fmt.Println(dog.Name)      // Buddy
    fmt.Println(dog.Speak())   // Woof!
}