abstract class Funcion { abstract public double f(double x); public double evaluar(double x) { return f(x); } } class FuncionExp extends Funcion { public double f(double x) { return Math.exp(x); } } class FuncionLineal extends Funcion { private double pendiente; private double xo,yo; public FuncionLineal(double pendiente,double xo,double yo) { this.pendiente = pendiente; this.xo = xo; this.yo = yo; } public double f(double x) { return yo + pendiente*(x - xo); } } class prbFunciones { public static void main(String arg[]) { Funcion func = new FuncionExp(); System.out.println(func.evaluar(0)); System.out.println(func.evaluar(1)); Funcion flineal = new FuncionLineal(0.5,0.0,1.0); System.out.println(flineal.evaluar(2.0)); FuncionExp fe = new FuncionExp(); System.out.println(fe.evaluar(2)); } }