为什么 Swift 不像 Java 或 C# 那样对属性使用 getter 和 setter?

Why doesn't Swift use getter and setter for properties as much as Java or C#?

Q1:我来自 Java/C# 背景,现在正在学习 Swift。当我编写 java 或 C# 代码时,对于 class 中的每个 属性,我需要编写 getter 和 setter。但是,我发现我们在swift中并没有写那么多getter和setter。我很好奇为什么会这样。

Q2:我知道有两种属性,存储属性和计算属性。看起来我们只需要为计算属性设置 getter 或 setter。真的吗?

Java 历史上对于直接 属性 访问和获取值的方法调用("getter")有不同的语法。由于有一天您可能想用方法覆盖 属性,为了保持一致性,在所有情况下都创建一个方法是很常见的。

Swift 通过对直接 属性 访问和 "getters"(计算属性)使用相同的语法避免了这个问题。这意味着您以后可以改变主意而不影响调用者,因此没有理由创建方法 "just in case."

计算的 属性 定义 为 Swift 中的 "getter"(get 方法)。