Avatar ·

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