Que signifie le mot-clé `open` en Swift et en quoi diffère-t-il de `public` ?
Bonjour à tous ! J'ai commencé à étudier Swift récemment et j'ai rencontré une confusion en travaillant avec les modificateurs d'accès. Dans la documentation Apple, il est écrit que `open` est le niveau d'accès le plus élevé, mais je ne comprends pas entièrement en quoi il diffère de `public`.
J'écris une petite bibliothèque pour travailler avec le réseau. Voici un exemple de ma classe :
```swift
public class NetworkManager {
public func fetchData() {
print("Fetching data...")
}
}
```
Tout fonctionne, mais j'ai lu que pour les classes qui peuvent être héritées depuis un autre module, il faut utiliser `open`. J'ai essayé de remplacer `public` par `open` :
```swift
open class NetworkManager {
open func fetchData() {
print("Fetching data...")
}
}
```
Je n'ai remarqué aucune différence de comportement. S'il vous plaît, dites-moi :
1. Quelle est la réelle différence entre `open` et `public` ?
2. Quand faut-il utiliser `open` et quand `public` suffit-il ?
3. Pourquoi Apple a-t-elle introduit le mot-clé `open` si `public` existe déjà ?
Je vous serais reconnaissant pour votre
No answers yet.
Connectez-vous pour laisser une réponse