classe Swift
classe Swift est le code utilisé pour construire une structure générale et flexible.
Nous pouvons définir les propriétés (constantes, variables) et les méthodes de la classe.
Et d'autres langages de programmation sont différents, Swift ne vous oblige pas à créer des classes aux fichiers d'interface et d'exécution séparés. Vous devez le faire est de définir une classe dans un seul fichier, le système génère automatiquement le code pour d'autres interfaces externes.
Type de carrosserie et la comparaison de la structure
classes et Swift structures ont beaucoup en commun. Common est que:
- attributs définis utilisés pour stocker des valeurs
- Définit un procédé pour fournir une fonctionnalité
- script défini est utilisé pour accéder à la valeur de la filiale
- Définir le constructeur est utilisé pour générer une valeur d'initialisation
- En étendant les fonctions mises en œuvre afin d'augmenter la valeur par défaut
- Conformément à l'accord de fournir certaines fonctions standard
Par rapport à la structure, la classe a les caractéristiques suivantes:
- L'héritage permet à une classe hérite d'une autre fonctionnalité de classe
- Type de conversion permet de type runtime vérification et l'interprétation d'une instance de classe
- Déconstruction permet une instance de classe pour libérer toutes les ressources dont elle a alloué
- Référence comptage permet de multiples références à une classe
Syntaxe:
Class classname { Definition 1 Definition 2 …… Definition N }
définition de classe
class student{ var studname: String var mark: Int var mark2: Int }
Instancier la classe:
let studrecord = student()
Exemples
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
La sortie de l'exécution du programme ci-dessus est la suivante:
成绩为 300
Comme attribut types de référence de classe
Attributs de la classe peuvent être accessiblespar le biais.Le format est:instancier nom de classe nom de la propriété:
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 is \(marks.mark1)") print("Mark2 is \(marks.mark2)") print("Mark3 is \(marks.mark3)")
La sortie de l'exécution du programme ci-dessus est la suivante:
Mark1 is 300 Mark2 is 400 Mark3 is 900
opérateur d'identité
Parce que les classes sont des types de référence, il peut y avoir une pluralité de constantes et variables en même temps une référence à une instance de classe en arrière-plan.
Afin de déterminer si les deux constantes ou variables se réfèrent à la même instance de classe, Swift construit deux opérateurs identiques:
opérateur d'identité | opérateur non identiques |
---|---|
Les opérateurs sont: === | Les opérateurs sont :! == |
Si les deux constantes ou des variables de référence de la même instance d'un retour véritable de la classe | Si deux références constantes ou variables différentes d'une instance de classe renvoie true |
Exemples
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("引用相同的类实例 \(spClass1)") } if spClass1 !== spClass2 {// true print("引用不相同的类实例 \(spClass2)") }
La sortie de l'exécution du programme ci-dessus est la suivante:
引用不相同的类实例 SampleClass