English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La classe Swift est un constructeur universel et flexible utilisé pour construire du code.
Nous pouvons définir des propriétés (constantes, variables) et des méthodes pour les classes.
Contrairement aux autres langages de programmation, Swift ne nécessite pas de créer des fichiers d'interface et de mise en œuvre séparés pour les classes personnalisées. Ce que vous devez faire est de définir une classe dans un seul fichier, et le système générera automatiquement une interface externe pour d'autres codes.
Classe et structure en SwiftStructureIl y a beaucoup de points communs. Ce qui est commun :
Définition des propriétés pour stocker des valeurs
Définition des méthodes pour fournir des fonctionnalités
Définition des sous-programmes pour accéder aux valeurs
Définition des constructeurs pour générer des valeurs initiales
Par extension pour ajouter des implémentations par défaut
Conformité aux protocoles pour fournir des fonctionnalités standard pour un type
En plus des structures, les classes ont les fonctionnalités supplémentaires suivantes :
L'héritage permet à une classe d'hériter des caractéristiques d'une autre classe
La conversion de type permet de vérifier et d'interpréter le type d'une instance de classe au moment de l'exécution
Le destructeur permet à une instance de classe de libérer toutes les ressources qu'elle a allouées
Le comptage de référence permet de faire plusieurs références à une classe
class classname { Définition 1 Définition 2 …… Définition N }
class student{ var studname: String var mark: Int var mark2: Int }
Instance de la classe :
let studrecord = student()
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("La note est \(marks.mark)")
Le résultat de l'exécution du programme ci-dessus est :
La note est 300
Les attributs de la classe peuvent être . pour accéder. Le format est :Nom de la classe. Nom de l'attribut:
import Cocoa 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 est \(marks.mark1)") print("Mark2 est \(marks.mark2)") print("Mark3 est \(marks.mark3)")
Le résultat de l'exécution du programme ci-dessus est :
Mark1 est 300 Mark2 est 400 Mark3 est 900
Comme les classes sont des types de référence, il est possible qu'il y ait plusieurs constantes et variables en arrière-plan qui référencent une instance de classe donnée en même temps.
Pour pouvoir déterminer si deux constantes ou variables référencent la même instance de classe, Swift inclut deux opérateurs d'égalité :
Opérateur d'égalité | Opérateur de non-égalité |
---|---|
L'opérateur est : === | L'opérateur est : !== |
Retourne true si deux constantes ou variables référencent la même instance de classe | Retourne true si deux constantes ou variables référencent une instance de classe différente |
import Cocoa 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") if spClass1 === spClass2 {// false print("Exemple de classe avec référence identique \(spClass1)") } if spClass1 !== spClass2 {// true print("Exemple de classe avec référence différente \(spClass2)") }
Le résultat de l'exécution du programme ci-dessus est :
Exemple de classe avec référence différente SampleClass