Latest web development tutorials

Swift klasy

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.

Ciało i porównania struktury

Swift klas i konstrukcje mają wiele wspólnego. Często jest to, że:

  • Zdefiniowane atrybuty używane do przechowywania wartości
  • Określa sposób zapewniania funkcji
  • Zdefiniowany skrypt służy do uzyskania dostępu do wartości zależnej
  • Definiowanie konstruktora jest używany do generowania wartości inicjalizacji
  • Rozszerzając funkcje realizowane w celu zwiększenia domyślne
  • Zgodnie z umową, aby zapewnić pewne funkcje standardowe

W porównaniu ze strukturą, klasa posiada następujące dodatkowe funkcje:

  • Dziedziczenie pozwala klasa dziedziczy z innej klasy funkcji
  • Typ konwersji umożliwia sprawdzenie typu wykonawcze i interpretacji instancji klasy
  • Dekonstrukcja pozwala instancję klasy, aby wyzwolić wszelkie zasoby, przyznane
  • Liczenie referencyjny umożliwia wiele odwołań do klasy

Składnia:

Class classname {
   Definition 1
   Definition 2
   ……
   Definition N
}

definicja klasy

class student{
   var studname: String
   var mark: Int 
   var mark2: Int 
}

Instancję klasy:

let studrecord = student()

Przykłady

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

Jako atrybut typy referencyjne klasy

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

operator Identity

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 Identityoperator 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

Przykłady

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