Swift - Cours
Les classes de Swift 4 sont des éléments constitutifs de constructions flexibles. Comme pour les constantes, les variables et les fonctions, l'utilisateur peut définir des propriétés de classe et des méthodes. Swift 4 nous fournit la fonctionnalité qui, lors de la déclaration de classes, les utilisateurs n'ont pas besoin de créer des interfaces ou des fichiers d'implémentation. Swift 4 nous permet de créer des classes sous la forme d'un fichier unique et les interfaces externes seront créées par défaut une fois les classes initialisées.
Avantages d'avoir des cours
L'héritage acquiert les propriétés d'une classe à une autre classe
Le cast de type permet à l'utilisateur de vérifier le type de classe au moment de l'exécution
Les déinitialiseurs prennent soin de libérer les ressources mémoire
Le comptage de références permet à l'instance de classe d'avoir plus d'une référence
Caractéristiques communes des classes et des structures
- Les propriétés sont définies pour stocker des valeurs
- Les indices sont définis pour donner accès aux valeurs
- Les méthodes sont initialisées pour améliorer la fonctionnalité
- L'état initial est défini par les initialiseurs
- Les fonctionnalités sont étendues au-delà des valeurs par défaut
- Confirmation des normes de fonctionnalité du protocole
Syntaxe
Class classname {
Definition 1
Definition 2
---
Definition N
}
Définition de classe
class student {
var studname: String
var mark: Int
var mark2: Int
}
La syntaxe de création d'instances
let studrecord = student()
Exemple
class MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}
class studentMarks {
var mark = 300
}
let marks = studentMarks()
print("Mark is \(marks.mark)")
Lorsque nous exécutons le programme ci-dessus en utilisant aire de jeux, nous obtenons le résultat suivant -
Mark is 300
Accès aux propriétés de classe en tant que types de référence
Les propriétés de classe sont accessibles par le '.' syntaxe. Le nom de la propriété est séparé par un "." après le nom de l'instance.
class MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}
class studentMarks {
var mark1 = 300
var mark2 = 400
var mark3 = 900
}
let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")
Lorsque nous exécutons le programme ci-dessus en utilisant aire de jeux, nous obtenons le résultat suivant -
Mark1 is 300
Mark2 is 400
Mark3 is 900
Opérateurs d'identité de classe
Les classes dans Swift 4 font référence à plusieurs constantes et variables pointant vers une seule instance. Pour connaître les constantes et les variables pointant vers une instance de classe particulière, des opérateurs d'identité sont utilisés. Les instances de classe sont toujours passées par référence. Dans les classes, les instances NSString, NSArray et NSDictionary sont toujours attribuées et transmises en tant que référence à une instance existante, plutôt qu'en tant que copie.
Identique aux opérateurs | Pas identique aux opérateurs |
---|---|
L'opérateur utilisé est (===) | L'opérateur utilisé est (! ==) |
Renvoie true lorsque deux constantes ou variables pointant vers une même instance | Renvoie true lorsque deux constantes ou variables pointant vers une instance différente |
class SampleClass: Equatable {
let myProperty: String
init(s: String) {
myProperty = s
}
}
func ==(lhs: SampleClass, rhs: SampleClass) -> Bool {
return lhs.myProperty == rhs.myProperty
}
let spClass1 = SampleClass(s: "Hello")
let spClass2 = SampleClass(s: "Hello")
spClass1 === spClass2 // false
print("\(spClass1)")
spClass1 !== spClass2 // true
print("\(spClass2)")
Lorsque nous exécutons le programme ci-dessus en utilisant aire de jeux, nous obtenons le résultat suivant -
main.SampleClass
main.SampleClass