Swift propose des structures et des classes pour représenter des données et des comportements.
La différence entre les deux n'est pas si évidente à prime abord.
Voici d'abord quelques ressemblances :
- Les deux permettent de définir des propriétés et des méthodes.
- Il est possible de créer des instances de structures et des instances de classes (dans le cas des classes, les instances sont aussi appelées objets).
Et quelques différences :
- Les classes offrent des fonctionnalités supplémentaires, par exemple l'héritage.
- Les structures, quant à elles, offrent l'avantage d'être moins complexes à mettre en oeuvre.
- Les structures ont un constructeur par défaut mais les classes n'en ont pas.
- Lorsqu'une fonction reçoit en paramètre une instance d'une classe, le paramètre est passé par référence. Quand le paramètre est une instance d'une structure, il est passé par valeur.
Pour vous aider à choisir entre créer une structure ou créer une classe, rappelez-vous qu'il faut d'abord privilégier les structures et choisir les classes seulement losrque requis1:,
As a general guideline, prefer structures because they’re easier to reason about, and use classes when they’re appropriate or necessary.
Source
1. « Structures and Classes ». Swift. https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html
Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.