• 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

Définissez des méthodes

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

Un objet, c'est ?

Et un point pour le phoque !
Et un point pour le phoque !

Je vois qu'il y en a qui suivent ! Pour l'instant nos objets sont surtout des petits paquets de variables. Alors nous allons maintenant parler des fonctions.

Les méthodes sont des fonctions

Un objet a des propriétés, on l'a vu et cela prend la forme de variables déclarées à l'intérieur de la classe.
Un objet a aussi des méthodes, on va le voir et cela prend la forme de fonctions définies à l'intérieur de la classe.

Donc pour créer une méthode, on déclare simplement une fonction. Prenons un exemple dans la classe Bus. On va créer une méthode moveForward qui va nous permettre de faire avancer le bus. Pour cela, on va simplement rajouter dans la classe Bus :

class Bus {
    // (...)

    func moveForward() {
        canvas.moveBusForward()
    }
}

Ici on définit donc la méthode moveForward de la classe Bus. Cette méthode appelle la méthode moveBusForward du canevas et permet de faire avancer le bus.

Appeler une méthode

Pour appeler notre méthode, on va faire maintenant exactement la même chose que pour les propriétés, on va utiliser le . après l'instance :

var unBus = Bus(driverName: "Joe")
unBus.moveForward()

Et vous devriez voir le bus avancer d'une section sur le canevas !

Exercices

1. Ajouter une méthode stop

Ajouter une méthode stop à la classe Bus. Cette méthode devra appeler la méthode stopBus du canevas.

2. Ajouter une méthode drive

Ajouter une méthode drive à la classe Bus. Cette méthode admet comme paramètre road de type Road. Lorsque cette méthode est appelée, le bus parcourt toute la route sans s'arrêter.

3. Ajouter des méthodes à la classe Personne

Entraînez-vous avec cet exercice !

Corrections de 1 et 2

class Bus {
    // (...) Propriétés et init
    func stop() {
        canvas.stopBus()
    }

    func drive(road: Road) {
        for _ in road.sections {
            moveForward()
        }
    }
}

var road = Road(length: 20)
var unBus = Bus(driverName: "Jean")
unBus.drive(road: road) // Le bus avance jusqu'au bout de la route

En résumé

  • Un objet, c'est un petit paquet de variables (les propriétés) et de fonctions (les méthodes).

  • Les méthodes sont des fonctions définies à l'intérieur de la classe.

  • Pour appeler une méthode, on utilise le . suivi du nom de la méthode.

Example of certificate of achievement
Example of certificate of achievement