Najlepszy samouczek Swift klasy W 2024 r. W tym samouczku możesz dowiedzieć się Ciało i porównania struktury,Jako atrybut typy referencyjne klasy,operator Identity,
Swift klasa jest kod używany do budowy ogólnej i elastyczną strukturę.
Możemy zdefiniować właściwości (stałe, zmienne) i metody klasy.
I inne języki programowania są różne, Swift nie wymaga tworzenia własnych klas do oddzielnych plików interfejsu i wdrażania. Trzeba to zrobić jest zdefiniowanie klasy w pojedynczym pliku, system automatycznie generuje kod dla innych interfejsów zewnętrznych.
Swift klas i konstrukcje mają wiele wspólnego. Często jest to, że:
W porównaniu ze strukturą, klasa posiada następujące dodatkowe funkcje:
Class classname { Definition 1 Definition 2 …… Definition N }
class student{ var studname: String var mark: Int var mark2: Int }
Instancję klasy:
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("成绩为 \(marks.mark)")
Wyjście powyżej wykonywanie programu jest:
成绩为 300
Atrybuty klasy mogą być dostępneza pośrednictwem.Format jest następujący:Nazwa instancji klasy Nazwa obiektu:
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)")
Wyjście powyżej wykonywanie programu jest:
Mark1 is 300 Mark2 is 400 Mark3 is 900
Ponieważ zajęcia są typy referencyjne, może istnieć wiele stałych i zmiennych jednocześnie odwołanie do instancji klasy w tle.
W celu ustalić, czy dwie stałe lub zmienne odnoszą się do tej samej instancji klasy, Swift zbudowany z dwóch identycznych operatorów:
operator Identity | operator nieidentycznych |
---|---|
Operatorzy są: === | Operatorzy są :! == |
Jeśli dwa stałe lub zmienne odwołują się do tej samej instancji o powrocie klasy prawdziwej | Jeśli dwóch różnych odniesień stałej lub zmiennej instancji klasy zwraca true |
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)") }
Wyjście powyżej wykonywanie programu jest:
引用不相同的类实例 SampleClass