Le langage Swift
Les classes
Définitions des classes
Le langage Swift est orienté objet, l'annotation class permet de définir une classe. Comme en Java, elle disposera de champs et de méthodes ainsi que d'un constructeur. Ce dernier est défini par init et permettra d'instancier notre classe.Le mot-clé self est l'équivalent de this en Java et permet d'avoir recours à l'instance courante.

Le Swift permet l'encapsulation par des marqueurs de visibilités (public, private et internal par défaut).
- private : visibilité de l’entité seulement depuis le fichier
- internal : visibilité de l’entité depuis d’autre fichiers sources du projet
- public : visibilité de l’entité depuis d’autre fichiers sources du projet et depuis les imports (plus haut niveau)
Enfin, il permet le polymorphisme. Une classe peut être héritée (notation :). Les champs et les méthodes publiques seront hérités et peuvent être réimplémenté par la notation override. La notion de getter et setter est directement implémentée en Swift ; il suffira d'écrire les blocs get {} et set {} après les déclarations des champs de la classe.

Les property observers
Les property observers (notés willset et didset) permettent de déclencher des traitements lors d'un changement sur une variable. Ils permettent l’historisation des variables par exemple (oldValue) ou le déclenchement d'une fonction spéciale lorsqu’il y a un changement d’état.