static変数とnew使う以外で、関数から、抽象化クラスのオブジェクトを返す方法ねぇかなぁ。