Junior — Middle
Nesne yönelimli programlamanın temel kalıplarını sayabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Nesne yönelimli programlamanın (OOP) temel kalıpları şunları içerir:
- Kalıtım (Inheritance): var olan sınıflardan yeni sınıflar oluşturmaya olanak tanır ve özellikleri ile metodları miras alır.
- Kapsülleme (Encapsulation): nesnenin iç uygulama detaylarını gizler ve yalnızca kamu metodları aracılığıyla erişim sağlar.
- Çok Biçimlilik (Polymorphism): farklı sınıflardan nesnelerin aynı mesajlara (metodlara) farklı şekilde yanıt verme yeteneği.
- Soyutlama (Abstraction): nesnenin temel özelliklerini vurgular, önemsiz detayları gizler.
Bu kalıplar, esnek, genişletilebilir ve sürdürülebilir programlar oluşturmaya yardımcı olur.
Go dilinde örnek (arayüzler kullanılarak çok biçimlilik):
package main
import "fmt"
type Animal interface {
Speak() string
}
type Dog struct{}
func (d Dog) Speak() string {
return "Hav!"
}
type Cat struct{}
func (c Cat) Speak() string {
return "Miyav!"
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, animal := range animals {
fmt.Println(animal.Speak())
}
}
Bu örnekte, farklı tipler aynı arayüzü uygular ve çok biçimlilik gösterir.