Junior — Middle
Czy możesz wymienić i opisać różne poziomy dostępu w języku Swift?
sobes.tech AI
Odpowiedź od AI
W Swift istnieje kilka poziomów dostępu, które określają, gdzie można używać określonych klas, metod, właściwości i innych elementów kodu:
- open — najbardziej otwarty poziom. Pozwala na używanie i dziedziczenie klasy lub nadpisywanie metod z dowolnego modułu.
- public — dostępny z dowolnego modułu, ale dziedziczenie i nadpisywanie są możliwe tylko w obrębie modułu, w którym jest zadeklarowany.
- internal — dostępny tylko w obrębie bieżącego modułu (domyślnie). Oznacza to, że elementy są widoczne we wszystkich plikach modułu, ale nie na zewnątrz.
- fileprivate — dostępny tylko w obrębie bieżącego pliku.
- private — najbardziej restrykcyjny poziom, dostępny tylko w obrębie bieżącej deklaracji (np. w klasie lub strukturze).
Przykład:
public class Example {
private var secret = 42
fileprivate func helper() {}
internal func doSomething() {}
public func expose() {}
open func overrideMe() {}
}
Wybór poziomu dostępu pomaga kontrolować enkapsulację i chronić wewnętrzne szczegóły implementacji.