将代码组织成类?

时间:2012-01-26 21:43:57

标签: java class coding-style

我为流行的Bukkit API for Minecraft编写插件。

基本上,在这一点上,我的编码只是一个包含大量方法和公共变量的类。如何将这些代码整齐地组织成类?

在编码方面,我该怎么做呢?我会导入每个班级吗?

我注意到从另一个类访问变量时,我必须每次都执行:ClassName.variable,这有点拖累。有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

我不是Java的粉丝,但这个问题与Java n00b无关。它是关于面向对象设计的新手(如果组织好它们,你会遇到任何语言的大型程序这个问题。)

您通常希望关注"Single Responsibility Principle"。简而言之,这意味着你的课程应该比现在小,并且每个人都应该负责处理一个足够小的任务,以便很容易判断它是否正确。这说起来容易做起来难,但这就是编程很难的原因:组织你的想法很难。

答案 1 :(得分:0)

将代码分解为类,每个类都包含相关的数据和描述该数据行为的方法。通常会有很多替代设计;这是经验问题。尝试创建在您的域中有意义的类,即模拟真实世界的东西(这并非总是可行或明智的,只是经验法则)。

答案 2 :(得分:0)

  

在编码方面,我该怎么做呢?

确定哪些方法实现了属于一起的功能。并将它们重构为课程。

  

我会导入每个班级吗?

您的IDE(eclipse或其他)将为您执行导入。

  

我注意到从其他类访问变量时,我必须这样做:   每次都是ClassName.variable,这有点拖累。有没有   这个方法呢?

首先你写了ClassName而不是实例,(这意味着静态) 在Java中,您可以选择执行静态导入

import static java.lang.Math.*;

之后你可以用更自然的方式使用这些符号,如:

double r = cos(PI);

而不是

double r = Math.cos(Math.PI);

但说实话,我不建议这样做。