classe Swift
classe Swift è il codice utilizzato per costruire una struttura generale e flessibile.
Siamo in grado di definire le proprietà (costanti, variabili) e metodi per la classe.
E altri linguaggi di programmazione sono diverse, Swift non richiede di creare classi personalizzate ai file di interfaccia e implementazione separati. Devi farlo è quello di definire una classe in un unico file, il sistema genererà automaticamente il codice per le altre interfacce esterne.
Fisico e confronto struttura
classi e Swift strutture hanno molto in comune. Comune è che:
- attributi definiti utilizzati per memorizzare i valori
- Definisce un metodo per fornire funzionalità
- script definito viene utilizzato per accedere al valore della controllata
- Definire il costruttore viene utilizzato per generare valore di inizializzazione
- Estendendo le funzioni implementate per aumentare il difetto
- In linea con l'accordo di fornire alcune funzioni standard
Rispetto alla struttura di classe ha le seguenti caratteristiche aggiuntive:
- L'ereditarietà consente una classe eredita da un'altra caratteristica della classe
- conversione tipo permette tipo di runtime controllo e l'interpretazione di un'istanza di classe
- Deconstruction permette un'istanza di classe per liberare tutte le risorse è allocato
- conteggio di riferimento consente a più riferimenti a una classe
sintassi:
Class classname { Definition 1 Definition 2 …… Definition N }
definizione di classe
class student{ var studname: String var mark: Int var mark2: Int }
Un'istanza della classe:
let studrecord = student()
Esempi
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
L'output sopra l'esecuzione del programma è il seguente:
成绩为 300
Come attributo tipi di riferimento di classe
Attributi della classe è possibile accederetramite.Il formato è:un'istanza di nome della classe nome della proprietà:
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)")
L'output sopra l'esecuzione del programma è il seguente:
Mark1 is 300 Mark2 is 400 Mark3 is 900
operatore identità
Poiché classi sono tipi di riferimento, ci può essere una pluralità di costanti e variabili allo stesso tempo un riferimento a un'istanza della classe in background.
Al fine di determinare se la due costanti o variabili si riferiscono alla stessa istanza di classe, Swift costruito due operatori identici:
operatore identità | operatore non identici |
---|---|
Gli operatori sono: === | Gli operatori sono :! == |
Se i due costanti o variabili di riferimento la stessa istanza di un ritorno di classe vero | Se due costanti o variabili diverse referenze un'istanza di classe restituisce true |
Esempi
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)") }
L'output sopra l'esecuzione del programma è il seguente:
引用不相同的类实例 SampleClass