У меня есть класс, называемый MyFunctions
, который определяет различные функции func1
, func2
и т. Д. Также у меня есть класс Process
, в котором хранится имя функции, присвоенное объекту этого класса:
Process p1 = new Process();
String fName1 = "func1";
p1.setFunctionName(fName1);
Process p2 = new Process();
String fName2 = "func2";
p2.setFunctionName(fName2);
Чтобы запустить правильную функцию, я делаю следующее:
MyFunctions f = new MyFunctions();
if (p.getFunctionName() == "func1") {
output = f.func1(inputdata);
} else if (p.getFunctionName() == "func2") {
output = f.func2(inputdata);
}
Я не уверен, что этот подход эффективен. Есть ли другой способ решить эту задачу?
Еще один вопрос: возможно ли сделать что-то подобное в JAVA ?:
String fName = p.getFunctionName();
output = f."+fName+"(input);