Les classes et les structures Flashcards
Pourquoi est-il mieux de créer un fichier .swift par classe ?
Parce que ces informations peuvent rapidement prendre beaucoup de place dans la programmation.
Quelles sont les conditions pour nommer un fichier de classe ?
Par convention, on nomme le fichier du même nom que portera celle de votre classe. De plus, tout nom d’une classe doit commencer par une majuscule pour respecter la convention des programmeurs. Donnez alors comme nom de fichier : Personne.
Comment déclare-t-on une classe ?
La définition d’une classe au sein d’un fichier se déclare par le mot-clé class suivi de son nom et d’une paire d’accolades. C’est entre ces accolades que tout se passera : c’est là que l’on déclarera nos attributs et nos méthodes
**class Personne {
}**
Dans quel ordre écrit-on les attributs et les méthodes ?
Attributs puis Méthodes.
**class Personne { var nom: String var prenom: String var age: Int var adresse: String }**
Comment accède-t-on aux attributs d’un objet dans une fonction ?
Ainsi, on accède aux attributs dans nos méthodes avec le mot-clé self. self.nom signifie alors le nom de cet objet.
func seMarier(nouveauNom: String) {
if self.sexe == “f” { // On peut changer de nom seulement si on est une fille
self.nom = nouveauNom
} else {
println(“Un garçon ne peut pas changer de nom de famille.”)
}
Comment déclarer un objet ?
let personne = Personne()
Vous affectez à votre variable le nom de votre classe suivi d’une paire de parenthèses (ouvrante et fermante). Swift va automatiquement savoir de lui-même où chercher ces informations et savoir quelle classe il faut instancier, c’est-à-dire ici dans le fichier Personne.swift. Votre variable personne est maintenant un objet de type Personne.
Quel est l’avantage de cette méthode ?
J’ai affecté un objet à la variable. Même si je joue avec cette objet par la suite, que je change ses valeurs ou quoi que ce soit, l’objet restera le même. Voilà pourquoi je peux me permettre de déclarer ma variable par le mot-clé let. Le nom de la variable importe peu pour déclarer un objet.
Comment accéder aux attributs d’un objet ?
premier.age
On va dans l’objet Premier et on récupère l’attribut “age” sur lequel on peut effectuer des opérations.
Comment accéder à une méthode d’un objet ?
Personne.feterSonAnniversaire
Appelle la fonction décrite dans l’objet Personne.
Comment faire appel à une méthode ?
Lorsqu’une méthode possède plus d’un paramètre, lors de son appel, il faudra indiquer la première valeur pour le premier paramètre. Et pour les valeurs des autres paramètres, il faudra préciser le nom des variables juste avant.
Qu’est-ce qu’une surcharge de méthode ?
Il s’agit d’une méthode dont on a changé au moins un des paramètres mais qui possède le même nom, par exemple :
personne.affiche()
personne.affiche(“age”)
personne.affiche(4)
Qu’est-ce qu’un constructeur ?
Ou initializer en anglais ‘init’, lorsque l’on déclare un objet, on peut préciser directement les valeurs à attribuer à notre objet. On va utiliser pour cela un constructeur ou encore un initialiseur (initializer en anglais).
Qu’est-ce qu’une structure ?
C’est exactement même chose qu’une classe, on l’utilise exactement pareil. Les différences vont se faire :
Le mot clé ne sera pas class mais struct .
La seule chose qu’une structure ne peut pas faire par rapport à une classe, c’est de bénéficier de l’héritage. L’héritage, c’est le sujet du prochain chapitre, ne vous inquiétez pas. Mais retenez le bien.
Les classes sont des types par référence et les structures des types par valeur.