Odak modu
Erişim Denetimi
Swift beş farklı erişim denetim düzeyi sağlıyor.
Open erişime en açık denetimi sağlarken, private erişimi en çok kısıtlayan erişim denetim metodudur.
Open, sadece Class ve Class'a ait öğeler için geçerli bir erişim denetim metodudur. Public erişimden farklı olarak, Subclass'ın miras aldığı öğeleri gerçersiz kılmasına(override) izin verir. Bir Class'ı, Open erişim denetimi ile tanımladıysanız, bu sınıfan türeyecek alt sınıfların koda etkisini düşünerek Class'ın iç yapısını oluşturduğunuz anlamına gelir.
Bir varlık, daha kısıtlı bir erişim sağlayan diğer bir varlık tarafından tanımlanamaz. Örneğin;
Swift, istisnalar dışında, varsayılan erişim denetimi olarak, Internal erişim denetimini kullanır.
Aşağıda çeşitli erişim denetimine sahip tanımlamaları görebilirsiniz.
public class SomePublicClass {}
internal class SomeInternalClass {}
fileprivate class SomeFilePrivateClass {}
private class SomePrivateClass {}
public var somePublicVariable = 0
internal let someInternalConstant = 0
fileprivate func someFilePrivateFunction() {}
private func somePrivateFunction() {}
Eğer tanım öncesinde bir erişim denetimi belirtilmezse, tanımlanan varlık Internal erişim denetimine sahip olarak tanımlanmış olur. Örneğin aşağıdaki tanımlar bir ön ek almasa da Internal erişim denetimine sahiptir.
class SomeInternalClass {}
let someInternalConstant = 0
Her varlık aksi belirtilmediği sürece içinde bulunduğu kod bloğunun erişim denetimini alır. File-private bir Class içinde yer alan özelliklerde File-private erişim düzeyinde olacaktır.
fileprivate class SomeFilePrivateClass {
func someFilePrivateMethod() {} // Bu metod belirtilmesede içinde bulunduğu kod bloğu sebebiyle fileprivate erişim düzeyindedir.
private func somePrivateMethod() {}
}
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!