Swift 5.3 |Çok Biçimlilik (Polymorphism) Kavramı

Swift dilinde nesne yönelimli programlama macerasında ki yeni arkadaşımızla tanıştırayım Polymorphism .Bir çok farklı şekilde tanımlanan Polymorphism kavramını bizde farklı bir şekilde tanımlayalım.

Polymorphism kodumuzun birçok farklı biçimde ortaya çıkabileceği ve işlevlerinin farklı şekillerde uygulanabileceği kavramıdır.

Swift dilinde Polymorphism kavramını 2′ ye ayırmak gerekir.

  • Compile Time Polymorphism (Derleme Zamanı)
  • Runtime Polymorphism  (Çalışma Zamanı)

Derleme Zamanı Polymorphism 

Methdoların aşırı yüklenmesi yani overloading işleminine denir .Bunu öncenden Java’yı anlatırken bahsetmiştim.Overloading demek yani aynı method ismine sahip olup farklı işlemler yapan methodlarımıza denir.Mutlaka method imzaları farklı olmalıdır.

Method İmzası Nelerden Oluşur?

  • Method ismi
  • Parametre Sayısı
  • Veri Tipi

Özellikle Initializer overloading bir nesneyi farklı şekillerde başlatmaya olanak tanır .

  • nothesaplama adında 2 adet method tanımladım.
  • isimleri aynı olmasına rağmen aldığı paremetreleri farklı ve yaptıkları iş farklı.
  • Böylelikle biz hangisini çağırırsak onu kullanırım.
  • Derleme zamanı Polymorphism bu şekilde.

Çalışma Zamanı Polymorphism

Kısaca methodu geçersiz kılma yani overriding işlemidir.Bu yöntemde derleme sırasında hangi yöntemin çağrılacağını bilemeyecektir.
Kalıtımla birlikte çalışır.Yöntemi geçersiz kılma, yöntem adı ve iletilen parametrelerin benzer olmasına rağmen, davranışın nesne türüne göre farklı olduğu bir kavramdır.

Yukarıdaki örnekten de görebileceğiniz gibi, sesyap aynı Hayvan sınıfı referansı üzerine farklı bir sonuç yazdırır. Çalışma zamanında nesnenin türüne karar verir ve karşılık gelen yöntemi çağırır.

THE END

Leave a Reply

*