我应该使用访问器吗?

时间:2012-02-21 17:26:54

标签: encapsulation accessor

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

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

有一些更有经验的程序员对访问者的意见会很高兴。

1 个答案:

答案 0 :(得分:1)

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

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

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