2015-08-17 27 views

回答

4

Final属性意味着子类不能修改属性的赋值逻辑。这并不意味着属性值是不可改变的。

没有final,这样的事情将被允许:

class X { 
    var x: Int 
} 

class Y: X { 
    override var x: Int { 
     get { ... } 
     set { ... } 
    } 
} 
+0

如果我添加getter和setter方法来存储特性,将它变成一个COMPU特德属性?这是否意味着将存储的财产标记为最终是没有意义的? – sevenkplus

+0

Swift将存储属性与计算属性之间的差异摘要化。从类外部,无法判断某个属性是存储的属性还是计算的属性,并且两者都可以覆盖子类中的其他属性。至于“最终”是“无意义的”,它在属性上和在方法上一样有意义。 – zneak

1

,正如除了zneaks正确的答案,在斯威夫特你可以声明与让,而不是VAR属性...所以,如果你说

let myConstantProperty: String = "Peter" 

没有人能够改变它......但是如果你需要这样的功能,那只是......

相关问题