3

我有self.在前面声明新变量以使其可用于所有方法的习惯。这是因为有时我认为我不需要其他方法中的变量。但在进行到一半时,我意识到我需要它可以通过其他方法访问。然后我必须self.在所有变量前面添加。

所以我的问题是,除了每次使用变量时需要多输入 5 个字符之外,还有其他缺点吗?或者,你如何克服我的问题?

4

2 回答 2

14

self仅当值是整个对象状态的一部分时才设置属性。如果它只是方法状态的一部分,那么它应该是方法本地的,而不应该是self.

于 2012-12-27T03:34:46.407 回答
3

这不是真的没事。self使您的变量可用于全局对象范围。这样,您需要确保变量的名称在整个对象中是唯一的,而不是在本地化范围内,以及其他可能不需要也可能不需要的副作用。

在您的特定情况下,这可能不是问题,但总的来说这是一种非常糟糕的做法。

了解您的范围并明智地使用它。:)

于 2012-12-27T03:37:13.430 回答