Quelle est la différence entre la finale de la Classe et de la Classe?
final class A {
}
class B {
}
Quelle est la différence entre la finale de la Classe et de la Classe?
final class A {
}
class B {
}
Les Classes marquées avec final
peut pas être modifiée.
Pourquoi devrait-on les soins à tous si la classe peut ou ne peut pas être remplacée?
Il y a deux choses à considérer:
final
empêche la classe d'être sous-classé-mission accomplie. Vous pouvez également utiliser final
pour marquer les méthodes, les propriétés et même les indices de classes non-finales. Cela aura le même effet, mais pour une partie particulière de la classe.final
indique également Swift compilateur que la méthode doit être appelée directement (statique de l'expédition), plutôt que de rechercher une fonction à partir d'une table de méthode (dynamic dispatch). Cela réduit d'appel de fonction, les frais généraux et vous donne un surcroît de performance. Vous pouvez en lire plus sur ce sur Swift Blog des Développeurs.La finale est modificateur de classe, ce qui l'empêche d'être héritée ou remplacée. À partir de la documentation d'apple
Vous pouvez empêcher une méthode, une propriété, ou indice de remplacement par le marquer comme final. Ce faire en écrivant le dernier modificateur avant la méthode, une propriété, ou indice de l'introducteur de mot-clé (par exemple comme définitive var, final func, classe finale func, et enfin, l'indice).
Toute tentative de remplacer une dernière méthode, une propriété, ou indice dans un sous-classe est signalé comme une erreur de compilation. Des méthodes, des propriétés ou des les indices que vous ajoutez à une classe dans une extension peut également être marqué comme en finale dans l'extension de la définition.
Vous pouvez marquer toute une classe comme définitive par écrit le modificateur final avant le mot-clé class dans sa définition de classe (classe finale). Tout tentative à la sous-classe d'une classe finale est signalé comme une erreur de compilation.
L'utilisation finale lorsque vous savez qu'une déclaration n'a pas besoin d'être substituée. Le mot-clé final est une restriction sur une classe, une méthode ou une propriété qui indique que la déclaration ne peut pas être remplacée. Cela permet au compilateur de manière sécuritaire à éluder la distribution dynamique d'indirection.
Lire la suite:
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.