Swift - Sınıflar

Swift 4'teki sınıflar, esnek yapıların yapı taşlarıdır. Sabitlere, değişkenlere ve işlevlere benzer şekilde, kullanıcı sınıf özelliklerini ve yöntemlerini tanımlayabilir. Swift 4, sınıfları bildirirken kullanıcıların arayüzler veya uygulama dosyaları oluşturması gerekmeyen işlevselliği sağlıyor. Swift 4, sınıfları tek bir dosya olarak oluşturmamızı sağlar ve harici arayüzler, sınıflar başlatıldığında varsayılan olarak oluşturulacaktır.

Derslere sahip olmanın faydaları

  • Miras, bir sınıfın özelliklerini başka bir sınıfa devralır

  • Tür atama, kullanıcının çalışma zamanında sınıf türünü kontrol etmesini sağlar

  • Deinitializers, bellek kaynaklarını serbest bırakmakla ilgilenir

  • Referans sayma, sınıf örneğinin birden fazla referansa sahip olmasına izin verir

Sınıfların ve yapıların Ortak Özellikleri

  • Özellikler, değerleri depolamak için tanımlanır
  • Değerlere erişim sağlamak için abonelikler tanımlanır
  • İşlevselliği iyileştirmek için yöntemler başlatılır
  • Başlangıç ​​durumu, başlatıcılar tarafından tanımlanır
  • İşlevsellik, varsayılan değerlerin ötesine genişletildi
  • Protokol işlevsellik standartlarının doğrulanması

Sözdizimi

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

Sınıf Tanımı

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

Örnek oluşturmak için sözdizimi

let studrecord = student()

Misal

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark = 300
}

let marks = studentMarks()
print("Mark is \(marks.mark)")

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

Mark is 300

Sınıf Özelliklerine Referans Türleri Olarak Erişme

Sınıf özelliklerine '.' İle erişilebilir. sözdizimi. Mülk adı bir "." İle ayrılır. örnek adından sonra.

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)")

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

Mark1 is 300
Mark2 is 400
Mark3 is 900

Sınıf Kimliği Operatörleri

Swift 4'teki sınıflar, tek bir örneğe işaret eden birden çok sabit ve değişkeni ifade eder. Belirli bir sınıfa işaret eden sabitler ve değişkenler hakkında bilgi sahibi olmak için örnek kimlik operatörleri kullanılır. Sınıf örnekleri her zaman referans olarak aktarılır. Sınıflarda NSString, NSArray ve NSDictionary örnekleri her zaman bir kopya yerine mevcut bir örneğe referans olarak atanır ve aktarılır.

Operatörlerle Özdeş Operatörlerle Özdeş Değil
Kullanılan operatör (===) Kullanılan operatör (! ==)
İki sabit veya değişken aynı örneğe işaret ettiğinde doğru döndürür İki sabit veya değişken farklı bir örneğe işaret ettiğinde doğru döndürür
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")

spClass1 === spClass2 // false
print("\(spClass1)")

spClass1 !== spClass2 // true
print("\(spClass2)")

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

main.SampleClass
main.SampleClass