Les Classes en Swift

Qu'est-ce qu'une Classe ?

Les classes sont des structures qui servent de modèle pour définir les caractéristiques et les comportements d'un objet. En tant que types de référence, toutes les instances d'une classe partagent les mêmes caractéristiques et comportements. Lorsque vous créez un objet à partir d'une classe, cet objet est appelé une instance.

Définir une Classe

En Swift, une classe est déclarée en utilisant le mot-clé class, suivi du nom de la classe et d'accolades {}.

class MaClasse {  // Corps de la classe
}

Notez que, par convention, les noms de classe doivent commencer par une majuscule.

Variables et Méthodes

Pour définir des variables au sein d'une classe, suivez ces étapes : 1. Utilisez le mot-clé var. 2. Donnez un nom à votre variable. 3. Assignez une valeur à l'aide de =.

Le constructeur init() est une méthode spéciale qui s'exécute lorsque vous créez une instance de la classe, acceptant des arguments sous la forme propriété: TypeDeDonnées. Le mot-clé self fait référence à l'instance elle-même.

Voici comment déclarer des méthodes : - Utilisez func pour définir la fonction. - Nommez la fonction et encapsulez son corps avec des accolades {}.

class Employe {
    var nom = ""
    var salaire = 0
    var manager = false

    init(nom: String, salaire: Int) {
        self.nom = nom
        self.salaire = salaire
    }

    func promouvoir() {
        self.manager = true
    }
}

Dans l'exemple ci-dessus, la classe Employe possède trois propriétés : un nom initialisé à une chaîne vide, un salaire initialisé à 0, et un booléen manager initialisé à faux. La méthode init() prend en compte les arguments nom et salaire de types String et Int.

Créer une Instance

Lorsque vous créez une instance d'une classe en Swift, la méthode init() est automatiquement appelée. Par exemple, supposons que nous voulons créer un employé nommé "M. Content" qui gagne un salaire de 10 000 glands par an. Voici comment nous aurions cette instance :

var mContent = Employe(nom: "M. Content", salaire: 10000)

Note : Les classes représentent également des types nommés, ce qui signifie que vous pouvez vous y référer par leur nom (c'est-à-dire que les instances de Employe sont de type Employe).

Accéder aux Propriétés et Méthodes

Pour accéder aux caractéristiques d'une instance, vous pouvez utiliser le code suivant :

print(mContent.nom) // Sortie : M. Content
print(mContent.salaire) // Sortie : 10000

Et si M. Content obtient une promotion, vous pouvez appeler la méthode .promouvoir() :

print(mContent.manager) // Sortie : false
mContent.promouvoir()
print(mContent.manager) // Sortie : true