# 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