Avatar ·

Gibt es in Swift Zugriffsmodifikatoren? (public, private, internal)

Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, komme von Java und C++, und eine Frage beschäftigt mich. In Java bin ich es gewohnt, vor jeder Klasse, Methode oder jedem Feld explizit `public`, `private`, `protected` anzugeben. Aber in Swift sehe ich, dass in Codebeispielen oft gar nichts vor der Deklaration steht und es trotzdem funktioniert. Zum Beispiel: ```swift class MyClass { var name = "John" func sayHello() { print("Hello") } } ``` Und ich kann von einer anderen Datei im selben Projekt auf diese Klasse und ihre Methoden zugreifen. Heißt das, dass standardmäßig alles `public` ist? Oder gibt es einen anderen Standardmodifikator? Und wie macht man etwas vollständig innerhalb einer Datei oder innerhalb einer Klasse verborgen? Ich habe von `fileprivate` und `open` gehört, verstehe aber nicht, wann man sie verwendet. Erklärt mir bitte, welche Zugriffsmodifikatoren es in Swift gibt und wie sie sich von Java unterscheiden.