合成関数を実現するクラスを作ります。これは、MyCurveクラスを継承します。
全ソースです。
public class MyComposite extends MyCurve { MyCurve mf, mg; public void set(MyCurve mf, MyCurve mg) { this.mf = mf; this.mg = mg; } public void p(double t) { x = t; mf.p(x); mg.p(mf.y); y=mg.y; } }
関数を2つ受け取るメソッドです。
public void set(MyCurve mf, MyCurve mg) { this.mf = mf; this.mg = mg; }
2つの関数を合成します。
public MyPoint cf(double t) { x = t; y = mg.cf(mf.cf(x).y).y; return this; }