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!
}