İçeriğe geç

Swift 3 ile open class kullanımı

Swift 3

Merhabalar bu yazımda Swift 3 ile yeni gelen open adında sınıf türünden bahsedeceğim.

Bildiğimiz gibi Nesne yönelimli (OOP) programlama dillerinde genel olarak Public,Protected(Internal),Private vardır. Ancak Swift‘te bunlara ek olarak 2 adet daha ek vardır.

Bunlar fileprivate,open dir. Swift 3 ile birlikte dile eklenmiş sınıf yapılarıdır.

open sınıf yapısı’da bunlardan biri diğer yazımda fileprivate’den bahsetmiştim. Bu yapı normal tek modul kullanımlarında public kullanımdan bir farkı yok. Ancak farklı 2 modul arasında işler değişiyor. A modulunde tanımlanmış sınıf ve fonksiyonlar, B modulunde kullanılabilinmesi için open olarak tanımlı bir sınıf gerekli ve fonksiyon open olarak override edilmeli.

Not: open class yapısını çıkarmalarının nedeni kütüphaneler arası sınıfların bir biri arasında override ve alt sınıf ilişkilerini düzene sokmaktır. Çünkü public yapı farklı moduller arasında eğer bir sınıf veya fonksiyon public tanımlıysa diğer modulde alt sınıf olamaz ve fonksiyonlar override edilemez.

Access Level olarak Swift 3 ” open > public > internal > fileprivate > private  şeklinde tanımlanmıştır.

Aşağıda basit bir şekilde open örneğini verdim inceleyebilirsiniz.

Diğer bir örnekte moduller yapı üzerinde open kullanırken override yapıyı anlamanız için Swift ekibi tarafından verilmiş.

Github link.

Tarih:SwiftSwift 3

Bu yazı yorumlara kapalı.