Q1:我来自Java / C#背景,现在正在学习Swift。当我编写Java或C#代码时,对于类中的每个属性,我需要编写getter和setter。但是,我发现我们并没有那么快地编写getter和setter。我很好奇为什么会这样。
Q2:我知道有两种属性,存储的和计算的属性。看来我们只需要为计算属性设置getter或setter即可。真的吗?
Java过去具有直接属性访问的语法与获取值的方法调用(“ getter”)不同。由于有一天您可能想用方法覆盖属性,因此为了保持一致,在所有情况下都创建一个方法是很常见的。
Swift通过对直接属性访问和“ getters”(计算属性)使用相同的语法来避免此问题。这意味着您以后可以改变主意而不会影响调用者,因此没有理由创建“以防万一”的方法。
一个计算出的属性是defined
,与Swift中的“ getter”(get
方法)相同。