final关键字在大多数的编程语言中都存在,表示不允许对其修饰的内容进行继承或者重新操作。Swift中,final关键字可以在class、func和var前修饰。
通常大家都认为使用final可以更好地对代码进行版本控制,发挥更佳的性能,同时使代码更安全。下面通过实例代码给大家介绍swift用final关键字来防止重写。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/**
用final关键字来防止重写
final,最后的,最终的;决定性的;不可更改的
final 修饰类的话,表示这个类不可以被继承。
如果修饰属性或者方法,表示相应的属性或者方法不能被重写。
*/
class Observer {
// final 加上
var storeProperty: Int = 0 {
willSet {
print( "storeProperty father will Set" )
}
didSet {
print( "storeProperty father did Set" )
}
}
// final
// 不能给计算属性设定属性观察器
var computeProperty: Int {
get {
return 0
}
set {
print( "Do nothing!" )
}
}
//final
func dodododTest() -> Void {
print( "dadadadadaddadaad" )
}
}
class ChildOfObserver: Observer {
// 可以重写父类中变量存储属性
override var storeProperty: Int {
willSet {
print( "storeProperty will Set" )
}
didSet {
print( "storeProperty did Set" )
}
}
// 可以重写父类中的计算属性的属性观察器
override var computeProperty: Int {
willSet {
print( "computeProperty will Set" )
}
didSet {
print( "computeProperty did Set" )
}
}
override func dodododTest() {
}
}
let co = ChildOfObserver.init()
co.storeProperty = 10
|
以上所述是小编给大家介绍的Swift用final关键字来防止重写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/sinat_20037505/article/details/53781836