クラスをクラスを使わずに、 少ない手数でハッシュマップとメソッドに置き換えることは可能である。
つまり、クラスの概念を持つ言語をクラスの概念を持たない言語に置き換え可能である。
例 クラス class HogeClass?{
}
HogeClass? hogeClass = new Hoge();
は
HashMap? mapHoge = new HashMap?();
で置き換えられる
機械的に置き換えたほうが手数が少ないため、クラス内のメソッドは必ず、第一引数に自信のthisを持たせるようにする。
なぜ第一引数にthisを用いるかというと、クラス内のメソッドはthisが使えるからだ、
ルール2とルール3は、つまりはこういうことだ。
HogeClass { void fooMetod (String bar){ }; }
があったとすると、機械的に下記のように置き換わる。
void hogeClass_fooMethod(HashMap thisMap,String bar){ //メソッド内のthisはthisMapに置き換わる }
ちなみに、HashMap?内に自信のインスタンスを設定するのは、循環参照となり、メモリの自動開放アルゴリズムが働かないとおもうので やめておいたほうが良い。