我有一个抽象类,我想把它推广到一个扩展它的类.
我将子类名称作为字符串.
除此以外...
String childClassString;
MyAbstractClass myObject;
if (childClassString = "myExtenedObjectA")
myObject = new ExtenedObjectA();
if (childClassString = "myExtenedObjectB")
myObject = new ExtenedObjectB();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?基本上我如何摆脱这里的if语句?
我正在研究.NET中的反序列化类,我必须开发一个方法,它为我提供了一个存储在字符串中的变量名.
我有一个字符串,如:
string string_name = "this_is_going_to_be_var_name";
Run Code Online (Sandbox Code Playgroud)
现在我该怎么做才能让我的代码动态声明一个名为this_is_going_to_be_var_name的变量?
因此要清理:将有一个反序列化类,它将根据高级程序员/用户的意愿,声明与作为输入提供的字符串相同的变量及其PARENT TYPES.
例如:在javascript/jQuery中,当我通过发出请求来获取JSON时,解释器声明具有相同名称的变量/数组并为它们赋值.如果{"var_name":"var_value"}是一个JSON字符串,则解释器将创建一个名为var_name的变量,并为其分配"var_value",例如json_data_object.var_name.