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

问题描述 投票:1回答:1

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

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

swift getter-setter computed-properties
1个回答
2
投票

Java过去具有直接属性访问的语法与获取值的方法调用(“ getter”)不同。由于有一天您可能想用方法覆盖属性,因此为了保持一致,在所有情况下都创建一个方法是很常见的。

Swift通过对直接属性访问和“ getters”(计算属性)使用相同的语法来避免此问题。这意味着您以后可以改变主意而不会影响调用者,因此没有理由创建“以防万一”的方法。

一个计算出的属性是defined

,与Swift中的“ getter”(get方法)相同。
© www.soinside.com 2019 - 2024. All rights reserved.