Swift 4中的类是灵活构造的构建块。 与常量,变量和函数类似,用户可以定义类的属性和方法。 Swift 4提供了一些功能,在声明类时,用户无需创建接口或实现文件。 Swift 4允许将类创建为单个文件,并且当初始化类后,默认情况下将创建外部接口。
使用类的好处 -
- 继承并获取另一个类的属性
- 类型转换使用户可以在运行时检查类类型
- 去初始化器负责释放内存资源
- 引用计数允许类实例具有多个引用
类和结构体的共同特征 -
- 定义属性以存储值
- 定义下标用于提供对值的访问
- 初始化方法以改进功能
- 初始状态由初始化器定义
- 功能扩展超出默认值
- 确认协议功能标准
语法
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()
print("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()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")
当使用playground 运行上述程序时,得到以下结果 -
Mark1 is 300
Mark2 is 400
Mark3 is 900
类标识运算符
Swift 4中的类指的是指向单个实例的多个常量和变量。 要了解指向类实例的常量和变量,请使用标识符运算符。 类实例始终通过引用传递。 在类中,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
print("\(spClass1)")
spClass1 !== spClass2 // true
print("\(spClass2)")
当使用playground 运行上述程序时,得到以下结果 -
main.SampleClass
main.SampleClass