1

假设我有一个 Object 类,它有一个简单地报告实例 ID 号的方法。通常,我会硬编码像“Object obj_1”这样的Object类的实例化和像“obj_1.report”这样的方法的调用

我的问题是我如何在程序上实例化对象,例如我想创建 n 个对象,去 obj_1、obj_2 等等直到 obj_n。自然,我不是在询问实际的循环,而是询问如何使用变量实例化类,而是取变量的值而不是变量的名称并将其添加到 obj_ 前缀中。也许与铸造?另外,我如何通过仅指定 ID 在程序上调用特定实例的方法。我认为实例化和方法调用都将以相同的方式工作,但是作为一个新手,我很难弄清楚如何在旅途中准确地完成它而不是硬编码。

提前致谢!

编辑:我对 c++ 语法感兴趣

4

1 回答 1

0

我能想到的最佳解决方案是将您的对象存储在 Map 中,您的 ID(“obj_1”、“obj_2”等)是引用这些实例的键。

Java(因为您没有指定语言)示例代码如下所示:

Map<String, Object> objMap = new HashMap<String, Object>();
for(int i = 1; i <= 10; i++) {
    objMap.put("obj_" + 1, new Object());
}

for(int i = 1; i <= 10; i++) {
    if(objMap.containsKey("obj_" + i))
        objMap.get("obj_" + i).report();
}
于 2011-10-12T13:29:41.830 回答