Swift Academy · Ders

Erişim denetimi (public/internal/fileprivate/private)

public, internal (varsayılan), fileprivate ve private kullanarak API'lerin dosyalar ve modüller arasındaki görünürlüğünü denetleyin. Ne zaman dışa açıp ne zaman gizleyeceğinizi öğrenin.

3. ders / 38 adım

Erişim denetimi (public/internal/fileprivate/private), CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.

Erişim düzeylerine genel bakış

Swift erişim düzeyleri:

  • public: diğer modüller tarafından görülebilir
  • internal (varsayılan): aynı modül içinde görülebilir
  • fileprivate: yalnızca bu kaynak dosyasında kullanılabilir
  • private: kapsayan kapsamla (tür veya genişletmeyle) sınırlıdır

internal (varsayılan)

Bir erişim belirleyicisini belirtmemek, bildirimleri internal yapar; bunlar aynı modülün (paket veya uygulama hedefinin) herhangi bir yerinde kullanılabilir.

struct Greeter {            // internal by default
    func hello(_ name: String) -> String { "Hello, \\(name)" }
}
let g = Greeter()
print(g.hello("Ada"))

public API yüzeyi

API'leri diğer modüllere açmak için public olarak işaretleyin; yüzey alanını küçük tutmak için yardımcıları internal bırakın.

public struct Math {
    public static func add(_ a: Int, _ b: Int) -> Int { a + b }
    // internal helper remains hidden outside the module
    static func double(_ x: Int) -> Int { x * 2 }
}
print(Math.add(1,2))

fileprivate kapsamı

fileprivate, kullanımı aynı kaynak dosyasıyla sınırlar. Tek bir dosyada bir türün yardımcılarını ayırmak için kullanışlıdır.

// In FileA.swift
fileprivate func hiddenInFile() { print("Only in this file") }

struct A {
    func call() { hiddenInFile() } // OK: same file
}
A().call()

private kapsamı

private, erişimi kapsayan kapsamla (tür veya genişletmeyle) sınırlar. Değişmezleri sıkı biçimde korumak için kullanın.

struct Box {
    private var value = 0     // visible only inside Box declaration
    mutating func set(_ v: Int) { value = v } // controlled write
    func get() -> Int { value }                // controlled read
}
var b = Box()
b.set(7)
print(b.get())
// b.value = 3   // error: 'value' is private

Tasarım ipuçları

Tasarım ipuçları:

  • Varsayılan olarak internal kullanın; yalnızca tüketicilerin ihtiyaç duyduklarını public olarak açın.
  • API'leri küçük tutmak için yardımcıları private veya fileprivate yapmayı tercih edin.
  • Bir üyenin erişim düzeyi, ait olduğu türden daha geniş olamaz.

Varsayılan erişim

Hızlı kontrol: Varsayılan erişim düzeyi nedir?

Özet

Özet: Modülleri dışarı açmak için public kullanın, çoğu şeyi internal tutun ve değişmezleri korumak için ayrıntıları fileprivate veya private ile gizleyin.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Swift öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
122
Dersler
409

Sıkça Sorulan Sorular

“Erişim denetimi (public/internal/fileprivate/private)” dersi ücretsiz mi?

Evet — “Erişim denetimi (public/internal/fileprivate/private)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.

“Erişim denetimi (public/internal/fileprivate/private)” dersinde ne öğreneceğim?

public, internal (varsayılan), fileprivate ve private kullanarak API'lerin dosyalar ve modüller arasındaki görünürlüğünü denetleyin. Ne zaman dışa açıp ne zaman gizleyeceğinizi öğrenin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Erişim denetimi (public/internal/fileprivate/private)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Üye başlatıcısı ve mutating işlevler
  2. Kalıtım, geçersiz kılma ve final
  3. Erişim denetimi (public/internal/fileprivate/private)
← Swift Academy Sayfasına Dön