Sobes.tech
Junior — Middle

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:

  1. 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.

  2. 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.

  3. 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.

  4. Ç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
}