目前参加Swift课程。刚刚写了这段代码:
private var _partyRock: PartyRock!
var partyRock: PartyRock {
get{
return _partyRock
}set {
_partyRock = newValue
}
}
为什么我们不把它留下来作为" private var _partyRock:PartyRock!"?为什么要额外获取和设置?
答案 0 :(得分:2)
在您提供的示例中,有没有点。该示例仅演示语法。
但现在想想可能性。当值在partyRock
和_partyRock
或反之亦然之间传递时,您可以执行其他事项。设置或获取partyRock
的代码永远不会知道这种情况正在发生。它是强大的东西。
还有很多其他模式可以从中发展出来。例如,您可以使用它来创建只读变量(通过省略setter)。或者,您可以调用方法,而不是设置/获取私有变量。可能性是无穷无尽的。
答案 1 :(得分:1)
作为其他语言的属性,重点是封装。使用属性,您可以隐藏验证或计算的详细信息。