コンポーネント is 名前体
コンポーネントを名前体にすればいい。
コンポーネントを引数に取ることができるしメンバにできるし返すことが出来る。
コンポーネントは同名で代入可能なメンバを持っていれば入れられる。データには継承関係があるし、コンポーネントの代入可能であるルールはこれだ。ただし、それはただの代入自動化である。
実際にはコンポーネントの変換規則を定義した場合に限り入れられる。しかし同名で代入可能であれば何も書かなくても良い。
translate Hoge(Huga huga){}; 代入可能なメンバがない場合や上書きしたい場合は書いてもいい。
拡張メソッドを書くことが出来、変換可能なメンバであれば拡張メソッドを使うことが出来る。いちいち代入してから呼び出すことになる。コンポーネントには参照しかないので中身を書き換えればコンポーネントにも参照されるし、オブジェクト参照自体関数の中で書き換えることはまずない。