Initial commit for 4.1

generic-observer
Selebrator 7 years ago
parent b4e4047df7
commit 801008236f

@ -0,0 +1,23 @@
package _4._1;
public abstract class Function {
protected Function predecessor;
public Function() {
this.predecessor = null;
}
public Function(Function predecessor) {
this.predecessor = predecessor;
}
public double calculate(double x) {
if(this.predecessor == null) {
return this.apply(x);
}
return this.predecessor.calculate(x);
}
protected abstract double apply(double x);
}

@ -0,0 +1,16 @@
package _4._1;
public class SineFunction extends Function {
public SineFunction() {
super();
}
public SineFunction(Function predecessor) {
super(predecessor);
}
@Override
public double apply(double x) {
return Math.sin(x);
}
}

@ -0,0 +1,16 @@
package _4._1;
public class SquareFunction extends Function {
public SquareFunction() {
super();
}
public SquareFunction(Function predecessor) {
super(predecessor);
}
@Override
protected double apply(double x) {
return x * x;
}
}
Loading…
Cancel
Save