我正在写一个游戏,我有一个输入类,其中包含所有不同键的布尔值.我在主游戏类中创建了这个类的实例.布尔是公开的,还是我应该使用访问者访问它们?
如果您有一个,并且所有键都初始化为 ,则不必为每个键都设置boolean一个 ,这样会更具可读性并且更容易编码。那么你的访问器可能是:private Map<String, Boolean> keyStatesfalse
public void setPressed(String keyName) {
keyStates.put(keyName, true);
}
public void setReleased(String keyName) {
keyStates.put(keyName, false);
}
public boolean isPressed(String keyName) {
return keyStates.get(keyName);
}
Run Code Online (Sandbox Code Playgroud)
使用访问器方法而不是公共变量的一般原因是,它允许类更改其实现,而不需要更改与其成员交互的类。例如,通过上述内容,您现在可以添加代码来计数或记录按键次数,或者更改基础类型Map使用的基础类型,而无需将任何内容暴露给外部。
这不是个人偏好。封装和接口是面向对象软件工程的组成部分,也是从技术角度来看互联网成为可能的主要设计原因。
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |