位置:首页 > 高级语言 > Swift在线教程 > Swift类

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

示例

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

class studentMarks {
   var mark = 300
}
let marks = studentMarks()
println("Mark is \(marks.mark)")

当我们使用 playground 运行上面的程序,我们得到以下结果

Mark is 300

访问类属性作为引用类型

类属性可使用 '.' 语法来访问。属性名称由 "." 分离在实例名后。

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()
println("Mark1 is \(marks.mark1)")
println("Mark2 is \(marks.mark2)")
println("Mark3 is \(marks.mark3)")

当我们使用 playground 运行上面的程序,得到以下结果

Mark1 is 300
Mark2 is 400
Mark3 is 900

类标识符

在 Swift 引用多个常量和变量指向的单个实例。要了解常量和变量指向一个特定的类实例标识操作符的使用。 类实例总是通过引用传递。在类NSString,NSArray 和 NSDictionary 实例始终分配作为参考传递到现有的实例,而不是使用一个副本。

等同运算符 不相同操算符
使用的操作符是 (===) 使用的操作符是 (!==)
当两个常量或变量指向同一个实例返回true 当两个常数或变量指向一个不同的实例返回true
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
println("\(spClass1)")

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

当我们使用 playground 运行上面的程序,得到以下结果

main.SampleClass
main.SampleClass