• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 2/1/19

Créez votre première classe

Log in or subscribe for free to enjoy all this course has to offer!

Je suppose que vous avez maintenant hâte de vous lancer dans le code orienté objet. Alors j'ai le plaisir de vous annoncer que...

Et oui !
Et oui !

Déclarer une classe

Il faut d'abord commencer par le commencement et le commencement de la POO en Swift ce sont les classes. Une classe, c'est ce qui va nous permettre de définir nos objets. En Swift, pour écrire une classe, on utilise la syntaxe suivante :

class NomDeLaClasse {
    // Ici viendra le contenu de la classe
}

Par exemple, on a vu dans notre diagramme de classes que l'on souhaite créer trois classes : Bus, Road et RoadSection. Pour faire cela, nous allons donc écrire simplement :

class Bus {

}

class Road {

}

class RoadSection {

}

Et voilà ! Il ne suffit de rien de plus pour créer nos classes ! Bien sûr, pour le moment, elles sont relativement vides, mais elles vont s'épaissir au fur et à mesure.

Mais on en fait quoi de ces classes ?

Évidemment pour le moment ça ne paraît pas hyper impressionnant. Mais vous allez voir tout de suite que c'est plus puissant qu'il n'y parait.

Les classes et les types

Vous vous souvenez des types ? Vous en connaissez un petit paquet maintenant. Voici un petit schéma pour vous les remettre en tête.

Jusqu'à présent, vous savez faire des programmes en manipulant les types ci-dessus. À partir de maintenant, vous allez aussi travailler avec les types que vous avez créés !

Comment ça les types que nous avons créés ? :waw:

Eh oui ! Les classes BusRoad et RoadSection sont des types. Exactement de la même façon que IntStringBool et les autres ! Donc la bonne surprise de ce chapitre, c'est que vous savez maintenant créer des types !

Instancier les classes

Vous vous souvenez que pour créer des variables de types entiers par exemple, on pouvait écrire simplement :

var i = 0

Mais on a aussi appris qu'on pouvait utiliser l'initialisation du type par défaut avec le nom du type et les parenthèses :

var i = Int() // i contient 0
var s = String() // s contient ""

Et bien nous allons faire la même chose. Pour créer une variable de type Bus, nous allons utiliser le nom de la classe et les parenthèses :

var unBus = Bus()

Et voilà rien de plus simple ! Nous venons de créer ce que l'on appelle une instance de la classe Bus. Et on appelle ce mécanisme l'instanciation.

La classe, c'est le modèle. Par exemple, la classe Int définit la façon dont fonctionne un entier, ses propriétés et quelques méthodes pratiques pour les manipuler.

Maintenant, si j'écris :

var i = 0
var j = 1

i et j sont des entiers précis. On dit qu'ils sont des instances de la classe Int. On peut faire une infinité d'instances à partir d'une classe. Toutes les instances de la classe auront les mêmes propriétés.

Prenons une métaphore pour bien comprendre. Lorsque vous faites des gaufres, vous utilisez un gaufrier. En fonction du gaufrier vont varier l'imprimé sur la gaufre, sa largeur, son épaisseur, etc. Donc le gaufrier définit la gaufre. Et ensuite, vous pouvez faire autant de gaufres que vous le souhaitez, elles auront toutes une structure identique et seul va varier ce que vous mettez dessus.

Si vous m'avez suivi, le gaufrier représente la classe. Les instances sont les représentations concrètes de cette classe.

De toute façon, si vous savez qu'une classe permet de définir un type, vous ne vous tromperez pas ;) !

Exercice

Dans ce cours, je vous propose un exercice filé tout au long du cours. Nous allons créer une classe Personne. Et vous allez pouvoir faire l'exercice directement dans votre navigateur !

Complétez l'exercice en cliquant sur ce lien !

En Résumé

  • Pour déclarer une classe avec Swift, on utilise le mot-clé class comme ceci :

    class NomDeLaClasse { 
        // Ici viendra le contenu de la classe 
    }
  • Une classe s'utilise exactement comme un type. Lorsque l'on crée une classe, on crée un type.

  • Une classe représente un concept. On appelle les représentations concrètes de cette classe des instances. Pour créer une instance, on utilise le nom de la classe suivi de parenthèse :

    var instance = MaClasse()
Example of certificate of achievement
Example of certificate of achievement