Kontrola dostępu
Kontrola dostępu
Kontrola dostępu to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 1. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 1 lekcji w sumie.
Wprowadzenie
Dzień dobry,
Kontrola dostępu ogranicza dostęp do części kodu z poziomu kodu w innych plikach źródłowych lub modułach.
Moduł: Moduł to jednostka dystrybucji kodu frameworka lub aplikacji.
Moduł zawiera kilka plików kodu źródłowego.
Plik źródłowy:
Plik źródłowy to pojedynczy plik kodu źródłowego w module.
Poziom dostępu
Jeśli poziom dostępu (AL, Access Level) typu zdefiniowano jako private, poziom dostępu wszystkich elementów należących do tego typu będzie private.
Ciąg dalszy
Modyfikator dostępu private, umieszczony przed zdefiniowaną zmienną, metodą itd., sprawia, że element jest dostępny wyłącznie w danym zakresie.
Celem modyfikatora dostępu fileprivate jest umożliwienie dostępu z poziomu innej klasy (class) lub rozszerzenia (extension) zdefiniowanych w tym samym pliku, także poza zakresem, w którym zdefiniowano zmienną.
Zwłaszcza gdy rozszerzenie jest zdefiniowane w tym samym pliku źródłowym, nie można uzyskać dostępu do obiektów zdefiniowanych jako private. W takiej sytuacji dobrym rozwiązaniem jest użycie fileprivate.
public
Modyfikator dostępu public zapewnia dostęp w całym module, ale przy korzystaniu z dwóch modułów może ograniczać dostęp w podklasach i zakresach.
Możliwe, że nie będzie można uzyskać dostępu do zmiennych i metod zdefiniowanych z użyciem modyfikatora public.
open
Klasa zdefiniowana jako public nie może być klasą bazową (superclass) w innym module, czyli nie można jej rozszerzać, a zawartych w niej metod nie można przesłaniać.
Potrzebujemy więc modyfikatora dostępu bardziej elastycznego niż public.
Krótko mówiąc, open można określić jako modyfikator dostępu „bardziej publiczny niż public”.
Ciąg dalszy
Jeśli korzystają Państwo z dwóch modułów i chcą uzyskać dostęp do zmiennych oraz metod jednego modułu z poziomu drugiego, rozwiązanie jest proste: na początku klasy ustawionej jako klasa bazowa należy umieścić modyfikator dostępu open.
Podobnie wystarczy zdefiniować metodę, którą chcą Państwo przesłonić.
internal
W typach innych niż enum, jeśli typ zdefiniowano jako public, elementy są automatycznie oznaczane jako internal. Jeśli jednak typ enum zdefiniowano jako public, jego elementy będą public.
public enum Direction { case North, South, East, West }
//each case is also has public access level.Tworzenie podklas
Tworzenie podklas
Możemy utworzyć podklasę dowolnej klasy. Wystarczy, że klasa jest dostępna w odpowiednim kontekście.
Podklasa nie może mieć wyższego poziomu dostępu niż jej klasa nadrzędna, ponieważ klasa nadrzędna obejmuje klasę podrzędną.
Przesłonięta metoda może mieć wyższy poziom dostępu niż przesłaniana metoda w klasie nadrzędnej.
public class ClassA {
//method private tanimlanmis
private func aPrivateMethod() {}
internal func anInternalMethod() {}
}
internal class ClassB: ClassA {
// The overridden method is defined internally. Access level has increased even more.
override internal func anInternalMethod() {}
}Ciąg dalszy
Poziom dostępu stałych, zmiennych, właściwości i subskryptów
Stała, zmienna lub właściwość nie może mieć mniej restrykcyjnego poziomu dostępu niż typ, z którym jest powiązana. Właściwość public działa analogicznie do klasy public.
Gettery i settery stałych, zmiennych, właściwości oraz subskryptów również mają taki sam poziom dostępu jak typ, do którego należą, podobnie jak stałe i zmienne.
Gratulacje
Gratulacje 🎉
W tej lekcji poznali Państwo kontrolę dostępu w Swift.
Ukończyli Państwo kurs Swift dla początkujących.
Rozpocznijmy egzamin i zdobądźmy certyfikat. 🌟

Często zadawane pytania
Czy lekcja „Kontrola dostępu” jest bezpłatna?
Tak — pełny tekst „Kontrola dostępu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 1 lekcji w sumie.
Co nauczysz się w „Kontrola dostępu”?
Kontrola dostępu Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 1.
Ile czasu zajmuje lekcja „Kontrola dostępu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.