好的,在面向对象语言 (OOL) 中,当创建一个类时,我们通常会预先知道它的所有属性。例如,Item 类应该有一个固定的属性(颜色、型号、品牌、价格)。所以我们只是:
public Class Item{
private String color;
private String model;
//etc more attribute here
//& set & get method for all attributes
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
但是如果所有的属性都是动态的呢?例如,在 1 个公司中,他们的项目属性可能是颜色、品牌,但在其他公司中,他们没有颜色和品牌属性,但有宽度、高度、尺寸...
如何在 Java、C++ 或任何 OOL 中创建接受动态属性的类?
最佳答案
How to create a Class that accepts dynamic attributes in Java, C++ or in any OOL?
这实际上取决于您要如何使用它。在许多情况下,您可以修改您的类以包含某种类型的动态增长的集合,例如 std::map
在 C++ 或 Map
中(或 Dictionary
)在 Java 中。
这允许您使用在运行时选择的 key 为每个实例创建和添加任意数据。
关于java - 当 Java、C++ 或任何面向对象语言中的属性是动态和可变的时,如何创建一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215033/