在我的课上,我有像这样的私有变量和属性.
private string _itemCOde=string.Empty;
private string _itemName=string.Empty;
public string ItemCode
{
get { return _itemCode; }
set { _itemCode = value == null ? value : value.Trim();}
}
public string ItemName
{
get { return _itemName; }
set { _itemName = value == null ? value : value.Trim();}
}
Run Code Online (Sandbox Code Playgroud)
根据这个属性,我在从sql表中选择数据后创建Item对象.
现在,如果数据库表被更改并添加一个名为cost的新列,那么我必须向该类添加另一个属性.在不向类添加新属性的情况下,可以根据表字段动态声明属性.
我希望能够在运行时动态地为现有类(对象)设置属性。
例如,具有 接口MyProperty.java以及实现该接口的其他特定属性。然后拥有一个可以动态接收某个实例MyProperty并自动为其提供getter 的对象。
MyPropery.java [表示某些对象属性的接口]
public interface MyProperty {
String getValue();
}
Run Code Online (Sandbox Code Playgroud)
MyPropertyAge.java [一些特定的对象属性]
public class MyPropertyAge implements MyProperty {
private final String age;
public MyPropertyAge(String age) {
this.age = age;
}
@Override
public String getValue() {
return age;
}
}
Run Code Online (Sandbox Code Playgroud)
MyObject.java [应该动态具有 MyProperty getter 的对象]
public class MyObject {
public MyObject(Set<MyProperty> properties) {
// receive list of properties,
// and have getters for them
}
// For example, if I passed in a …Run Code Online (Sandbox Code Playgroud)