Essays.club - Dissertations, travaux de recherche, examens, fiches de lecture, BAC, notes de recherche et mémoires
Recherche

Swift & Cocoa

Par   •  6 Septembre 2018  •  4 246 Mots (17 Pages)  •  348 Vues

Page 1 sur 17

...

Qu’est-ce qu’une classe ?

S6 ->

Une entité avec un rôle défini comportant un état (propriétés), comportement (méthodes) et une identité (chaque objet peut avoir des valeurs différentes).

S7 ->

Une classe est un type de donné défini par l’utilisateur. Il définit des attributs et des opérations communes entre un lots d’objets. Un objet est donc l’instance d’une classe. Il n’est pas nécessaire de connaitre l’implémentation pour utiliser un objet

Syntaxe d’une classe

S10 ->

- Différentes classes peuvent être dans différents fichiers pour des questions d’organisation.

- L’accès aux attributs et méthodes est géré par les mots-clés « public », « private » et « internal ».

- Public : accessible partout

- Private : accessible depuis le fichier ressource seulement

- Internal (peu utilisé)

- Les attributs peuvent se voir attribuer des accesseur (getter) et mutateur (setter) pour gérer l’accès, permettant ainsi de mettre un attribut en lecture seul. Les constantes doivent être initialisé dans l’initializer.

Utiliser une classe

S14 ->

- Lors de l’instanciation le 1er paramètre doit être nommé, une instance d’une classe est de type référence :

Si on assigne un objet à un autre d’une même classe, il se référeront donc tous les 2 à la même instance (donc si on en modifie un, l’autre sera impacté).

L’initializer (constructeur)

S18 ->

- Initializer -> constructeur. Permet d’allouer de la mémoire pour un objet et de l’initialiser.

- A la fin de l’éxécution du constructeur, les propriétés doivent avoir une valeur. Si elle ne sont pas définie, elles doivent avoir une valeur par défaut.

- On peut avoir plusieurs initializer par classe (par ex suivant le nombre et le type de donnée rentré)

De-initializer

S25 ->

De-initializer -> « destructeur »

Sert à détruire des objets devenu inutile (libérer la mémoire occupée).

Swift le fait automatiquement avec le « Automatic Reference Counting ».

Peut être appelé manuellement avec « deinit ».

Propriétés

S29 ->

- On peut appliquer des mots clé « modificateur » comme public, private, internal pour réstreindre ou non l’accès aux propriété.

- Les propriétés sont «lazy », elles ne seront calculées qu’au moment où on les utilise, pratique quand elle sont lourde à calculer et pas forcément nécessaire.

Méthodes

S36 ->

- On peut utiliser public, private, internal pour gérer l’accès.

- Mettre les noms de méthode en camelCase pour des questions de lisibilité.

- Quand on a plusieurs paramètres pour une méthode, au moment de l’appel, il faut spécifier les noms du second et des paramètres suivants.

4 - Developing Structures

Qu’est-ce qu’une structure ?

- Les structures et les classes sont très similaires : Properties, methods et initializers.

- Le but principal de la structure est d'encapsuler quelques valeurs de données relativement simples.

Structure vs. Class

- Les valeurs encapsulées seront copiées plutôt que référencées lorsque vous affectez ou transmettez une instance de cette structure (Contrairement aux classes).

Créer une structure et une instance de structure

Considérons Fraction comme étant une structure (

Syntax :

public struct Fraction {

TRAITEMENTS

}

Pour créer une instance de celle-ci :

var f1 = Fraction()

- Les propriétés et les fonctions d’une structure sont accessibles à partir de la DOT notation :

f1.proriété , f1.fonction()

Modification des propriétés

- Dans une structure, les valeurs des propriétés ne peuvent pas être modifiées dans une méthode.

– Si on veut changer ces valeurs on doit passer par les méthodes de mutation (mot clé « mutating » ajouté au début) :

mutating func nomDeLaFonction()

Note : Une stucture peut regrouper plusieurs autres structures.

Si une instance de structure est dans une variable de type constance (let) alors ses propriétés ne peuvent pas être modifiées, contrairement aux classes où on peut le faire.

Exemple :

let cstStruct = nomDeLaStruc

cst.propriété = 5 // -> pas pas possible : erreur

let cstClass = nomDeLaClass

cstClass.propriété = 5 // Ok

Propriété et méthodes typées

Les propriétés et méthodes typées dans une structure sont spécifiées par le mot ‘’STATIC’’.

Propriétés

...

Télécharger :   txt (29.1 Kb)   pdf (93.6 Kb)   docx (38 Kb)  
Voir 16 pages de plus »
Uniquement disponible sur Essays.club