【问题标题】:should I use accessors or not?我应该使用访问器吗?
【发布时间】:2012-02-21 17:26:54
【问题描述】:

我已经编程了大约 2-3 年,实际上我正在用 actionscript atm 开发一个游戏。我有一个角色类,其中有一些字段,如名称、等级、经验、伤害、防御等。现在我已经将它们保护起来,以便派生类可以看到它们,并且我使用 getter 和 setter 来封装它们,所以其他类只能看到 getter。但是,在 actionscript 中,您似乎无法保护访问器,因此它们必须是公开的。但是,如果任何人都可以看到并编辑它们,我为什么还要使用访问器呢?我是否应该跳过封装而只使用公共字段并封装那些在设置时需要执行其他语句的字段。例如,如果我增加经验字段,它应该在增加的同时检查升级。

我喜欢 c# 中的访问器,因为它们使编码更容易,因为您在其他类中看不到私有/受保护的访问器。

如果有一些更有经验的程序员对访问器提出意见,那就太好了。

【问题讨论】:

    标签: encapsulation accessor


    【解决方案1】:

    访问器是一个很好的约定,但我想你不必遵循它。

    使用它们的好处是您拥有更好的 API,也就是说,IncreaseLevel() 函数的作用非常明显。

    此外,您可以灵活地通知代码的其他部分。例如,如果每次增加一个级别,您都希望某个动画发生,它可以发生在IncreaseLevel() 函数中。总而言之,我推荐它。

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2010-09-24
      • 2021-10-06
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多