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