Le `` fichier de la bibliothèque standard contient les éléments suivants quelques lignes de code vers la ligne 228 :
Que signifie moyenne dans ce contexte, ou ce qui est le
mot clé en général ?
Le `` fichier de la bibliothèque standard contient les éléments suivants quelques lignes de code vers la ligne 228 :
Que signifie moyenne dans ce contexte, ou ce qui est le
mot clé en général ?
open
est un nouveau niveau d'accès à Swift 3, introduit avec la mise en œuvre
de
Il est disponible avec la Swift 3 instantané du 7 août 2016, et avec Xcode beta 8 6.
En bref:
open
classe est accessible et subclassable à l'extérieur de la
module de définition. Un open
membre de la classe est accessibleet
substituables à l'extérieur du module de définition.public
classe est accessible mais pas subclassable à l'extérieur de la
module de définition. Un public
membre de la classe est accessiblemais
pas substituables à l'extérieur du module de définition.Donc, open
est-ce que public
utilisé pour être dans les précédents
Swift les rejets et les accès de l' public
a été restreint.
Ou, comme Chris Lattner, il met en
SE-0177: Permettre la distinction entre l'accès du public et public overridability:
"open" est maintenant tout simplement "plus de public que dans le public", offrant un très simple et propre modèle.
Dans votre exemple, open var hashValue
est une propriété qui est accessible et peut être remplacée en NSObject
sous-classes.
Pour plus d'exemples et de détails, jetez un oeil à SOI-0117.
Lire ouvrir en tant que
ouvert pour l'héritage dans les autres modules
Je le répète ouvert pour l'héritage dans d'autres modules. Donc une classe ouverte est ouverte pour les sous-classement dans d'autres modules qui comprennent le module de définition. Ouvrir les vars et les fonctions sont ouvertes pour prépondérant dans d'autres modules. De ses le moins restrictif pour le niveau d'accès. Il est aussi bon que l'accès du public à accepter que quelque chose qui est public est fermé pour l'héritage dans d'autres modules.
De Apple Docs:
Ouvrir l'accès s'applique que pour les classes et les membres de la classe, et diffère de l'accès du public comme suit:
Les Classes d'accès public, ou de tout accès plus restrictif niveau, peut être sous-classé uniquement dans le module où elles sont définies.
Les membres de la classe avec un accès public, ou de tout accès plus restrictif niveau, peut être remplacées par des sous-classes que dans le module où ils sont défini.
L'ouverture des classes peut être sous-classé dans le module où elles sont définies, et dans n'importe quel module qui importe le module où elles sont définies.
- Ouvert aux membres de la classe peuvent être remplacés par des sous-classes dans le module où elles sont définies, et dans n'importe quel module que les importations du module où elles sont définies.
Open est un niveau d'accès, a été introduit à imposer des restrictions sur l'héritage de classe sur Swift.
Cela signifie que l' open de niveau d'accès ne peut être appliqué que pour les classes et les membres de la classe.
Dans Les Classes
Une classe ouverte peut être sous-classé dans le module qu'il est défini et en modules importer le module dans lequel la classe est définie.
Dans les membres de la Classe
La même chose s'applique aux membres du groupe. Une méthode ouverte peuvent être remplacées par des sous-classes dans le module qu'il est défini et en modules importer le module dans lequel la méthode est définie.
LA NÉCESSITÉ DE CETTE MISE À JOUR
Certaines catégories de bibliothèques et frameworks ne sont pas conçus pour être sous-classé et cela peut entraîner un comportement inattendu. Natif d'Apple bibliothèque ne permet d'écraser les mêmes méthodes et les classes,
Donc, après cette outre, ils vont appliquer public et privé, les niveaux d'accès en conséquence.
Pour plus de détails, un coup d'oeil à la Documentation d'Apple sur le Contrôle d'Accès
À l’exception de la sous-classe, un `` est également accessible depuis n’importe où dans votre projet. Dire que vous définissez une fonction de classe ouverte dans votre classe Util comme ceci
Puis dans n’importe où de vos contrôleurs d’affichage, vous pouvez simplement accéder à cette méthode en appelant
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.