Latest web development tutorials

Swift класс

Swift класс код, который используется для построения общего и гибкую структуру.

Мы можем определить свойства (константы, переменные) и методы класса.

И другие языки программирования разные, Swift не требует от вас, чтобы создавать собственные классы для разделения интерфейса и реализации файлов. Вы должны сделать это, чтобы определить класс в одном файле, то система будет автоматически генерировать код для других внешних интерфейсов.

Тип кузова и сравнение структуры

Swift классы и структуры имеют много общего. Общие является то, что:

  • Задаваемые атрибуты, используемые для хранения значений
  • Определяет способ предоставления функциональных возможностей
  • Определенный сценарий используется для доступа к значению дочернего
  • Определить конструктор используется для генерации значения инициализации
  • Расширяя функции, реализуемые с целью увеличения по умолчанию
  • В соответствии с соглашением, чтобы обеспечить некоторые стандартные функции

По сравнению со структурой, класс имеет следующие дополнительные возможности:

  • Наследование позволяет класс наследует от другого класса функции
  • Преобразование типа позволяет проверку типа во время выполнения и интерпретации экземпляра класса
  • Деконструкция позволяет экземпляр класса, чтобы освободить любые ресурсы, выделенные
  • Подсчет ссылок позволяет несколько ссылок на класс

Синтаксис:

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

определение класса

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

Инстанцировать класс:

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

Выход выше выполнение программы:

成绩为 300

В качестве атрибута класса ссылочные типы

Атрибуты класса могут быть доступнычерез.Формат:Instantiate имя класса имя свойства:

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

Выход выше выполнение программы:

Mark1 is 300
Mark2 is 400
Mark3 is 900

тождественный оператор

Поскольку классы являются ссылочными типами, может быть множество постоянных и переменных в то же время ссылку на экземпляр класса в фоновом режиме.

Для того, чтобы определить, являются ли относятся две константы или переменные к одному экземпляру класса, Swift построены два одинаковых операторов:

тождественный операторнетождественной оператор
Операторы: === Операторы :! ==
Если две константы или переменные ссылаются на тот же экземпляр класса возвращает истину Если два различных постоянных или переменных ссылок экземпляр класса возвращает истину

примеров

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

Выход выше выполнение программы:

引用不相同的类实例 SampleClass