Junior — Middle
Pouvez-vous énumérer et décrire les différents niveaux d'accès dans le langage Swift?
sobes.tech IA
Réponse de l'IA
En Swift, il existe plusieurs niveaux d'accès qui déterminent où il est possible d'utiliser certaines classes, méthodes, propriétés et autres éléments de code :
- open — le niveau le plus ouvert. Permet d'utiliser et d'hériter d'une classe ou de redéfinir des méthodes depuis n'importe quel module.
- public — accessible depuis n'importe quel module, mais l'héritage et la redéfinition ne sont possibles qu'au sein du module où ils sont déclarés.
- internal — accessible uniquement à l'intérieur du module actuel (par défaut). Cela signifie que les éléments sont visibles dans tous les fichiers du module, mais pas à l'extérieur.
- fileprivate — accessible uniquement à l'intérieur du fichier actuel.
- private — le niveau le plus strict, accessible uniquement à l'intérieur de la déclaration actuelle (par exemple, à l'intérieur d'une classe ou d'une structure).
Exemple :
public class Example {
private var secret = 42
fileprivate func helper() {}
internal func doSomething() {}
public func expose() {}
open func overrideMe() {}
}
Le choix du niveau d'accès aide à contrôler l'encapsulation et à protéger les détails internes de l'implémentation.