我是java和stackoverflow的新手
我有
class Assemble()
class Start()
class Ignite()
class Move()
...... There are still 12 classes
我想在这些类中使用方法 但是
我有什么可能吗? 请袒露任何愚蠢,我无法弄明白。 这是我的第一个问题。
最后一堂课是 class run
{
public void run_simple()
{
// hear i should be able to access all methods of above class
}
}
答案 0 :(得分:3)
如果您使用面向对象的语言(如java),那么整个程序就是创建和使用对象(如许多注释中所述)。 有一些有效的技术原因不创建对象和使用静态方法("它很乏味" 不其中之一)。有些环境禁止使用继承。
请说明这些原因,否则我们必须假设您不了解面向对象语言的一些基本概念以及您的"限制"必须被忽略。
大多数"限制"面向对象编程旨在帮助您构建解决方案/程序。如果你认为它们是真正的限制,你的程序结构可能会很糟糕。
我想提供一个示例,了解这样的事情看起来如何" OO方式"。这可能与您的项目不完全匹配,但应该向您展示创建对象不一定是程序员努力的问题。
首先我们需要一个界面来定义你的一个动作(我称之为你的类)是什么样的
interface Action {
public void run();
}
以下类定义具体操作。他们的构造函数可能会参数配置有关如何执行它们的详细信息。在每个类的run()
- 方法中,您可以对执行时的操作进行编程。
class Assemble implements Action {
public void run() {...}
}
class Start implements Action {...}
class Ignite implements Action {...}
class Move implements Action {...}
控制器执行"运行所有内容"。这基本上是你的"开销"用于创建对象!
class Controller {
/** Returns a list of the configured action objects. */
public static List<Action> buildActions() {
List<Action> actions = new LinkedList<Action>();
actions.add(new Assemble(parameter)); // or whathever parameters you need
actions.add(new Start(parameter1, parameter2));
actions.add(new Ignite());
actions.add(new Move());
}
/** Build the list of actions and run one after the other. */
public static void main(String[] args) {
List<Action> actions = buildActions();
for (Action action: actions) {
action.run();
// here you could add logging, profiling etc. per Action.
}
}
}