İOS Swift

Swift Kalıtım ve Override İşlemleri

Yazıma başlamadan önce, kalıtım konusu hakkında bilgi almak ve swift programlama dilindeki örneklerini görmek için aşağıdaki linki inceleyebilirsiniz. Bu şekilde yazım daha anlaşılır olacaktır.

miras alma

http://kod5.org/swift-inheritance-kalitim/

Objective C’dekinin aksine, Swift programlama dilinde alt sınıf, üst sınıfın initializerlarını(bizim bildiğimiz constructor) otomatik olarak miras almaz.

Eğer üst sınıftaki initializer’ı ezerek değiştirmek yani override etmek istiyorsak, bunu init() ile yapabiliriz. Tabi bunu yaparken başına override eklememiz gerekiyor.

Üst sınıfta olan bir designated initializerı değiştirme işlemini aşağıdaki örnekte inceleyebiliriz.

Base class olarak Car adında bir sınıf oluşturuyoruz. Bu sınıf içerisinde numberOfDoors adında bir property tanımlıyoruz. Değerini de 0 olarak atıyoruz.

Şimdi de bir adet alt sınıf tanımlıyoruz ve üst sınıftaki initializer’ı override ediyoruz. İlk başta sıfır olarak atadığımız numberOfDoors propertysini 4 olarak değiştireceğim.

Bus sınıfı init() şeklinde custom olarak tanımlanmış bir initializer’a sahip.  Bu initialier’da üst sınıftakini çağırmaktadır ve değerini 4 olarak değiştirmektedir.

Örnekte bahsettiğimiz şekilde, üst sınıfta 0 olarak atadığımız property’i, alt class’da override ederek 2 şeklinde değiştiğini görebilirsiniz 🙂

Türk Telekom Şirketinde CRM Çözümlerinde Teknik Analist olarak görev yapmaktayım. Geçmişte ise iOS uygulama geliştirici olarak çalıştım. Bilginin ve paylaşmanın gücüne can-ı gönülden inanırım..