не могли бы вы рассказать мне, как работает эта линия .... мой OperatorFactory.get ("add") ничего не делает. Я не получаю ничего печататьсяjava interfaces ... быстрые вопросы
ArithmeticOperator add = OperatorFactory.get ("add");
когда я следующее:
interface ArithmeticOperator {
// Returns the result of applying the operator to operands a and b.
double operate (double a, double b);
// Return a String that is the name of this operator.
String printName();
}
public class OperatorFactory implements ArithmeticOperator {
public OperatorFactory(){
}
public static ArithmeticOperator get(String name){
if(name.equals("add"))
return new PlusOperator();
else if(name.equals("sub"))
return new SubOperator();
else if(name.equals("mult"))
return new MultOperator();
else if(name.equals("div"))
return new DivOperator();
else
return null;
}
public double operate(double a, double b) {
throw new UnsupportedOperationException("Not supported yet.");
}
public String printName() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
public class PlusOperator extends OperatorFactory {
public double operate(double a, double b) {
return a + b;
}
public String printName() {
return "Add";
}
}
public class PlusOperator extends OperatorFactory {
public double operate(double a, double b) {
return a + b;
}
public String printName() {
return "Add";
}
}
Почему вы должны получить что-то напечатанное? Вы просто строите его, не называя его метод ** printName() **. – Jack
«Я ничего не печатаю». Ну, код ничего не делает. Где/как вы что-то печатаете? – BalusC
«Я ничего не печатаю» - Где и что вы пытаетесь напечатать? Я не вижу этого в вашем коде здесь –