Nesne yönelimli programlamada farklı polimorfizm türlerini sıralayabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Nesne yönelimli programlamada (OOP) birkaç temel polimorfizm türü ayırt edilir:
-
Alt Tür Polimorfizmi (Subtype Polymorphism) — en yaygın olanıdır, kalıtım ve metodların yeniden tanımlanmasıyla uygulanır. Alt sınıf nesnelerinin temel sınıf nesneleri yerine kullanılmasına olanak tanır.
-
Parametrik Polimorfizm (Parametric Polymorphism) — genellikle jenerik türler aracılığıyla gerçekleştirilir, fonksiyonlar veya sınıflar herhangi bir veri türüyle çalışabilir.
-
Ad-hoc Polimorfizm (Ad-hoc Polymorphism) — fonksiyonların ve operatörlerin aşırı yüklenmesini içerir, bir fonksiyon farklı parametre türleriyle birkaç uygulamaya sahip olabilir.
-
Çalışma Zamanı Polimorfizmi (Runtime Polymorphism) — sanal metodlar ve dinamik bağlama yoluyla elde edilir, metod çağrısı çalışma zamanında belirlenir.
Swift (iOS) dilinde alt tür polimorfizmine örnek:
class Animal {
func sound() {
print("Bazı ses")
}
}
class Dog: Animal {
override func sound() {
print("Havlama")
}
}
class Cat: Animal {
override func sound() {
print("Miyav")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Metod çağrısı nesnenin gerçek türüne bağlıdır
}