0

この問題に対して広く使用されているアプローチは、おそらく 2 ~ 4 つしかありません。

いたるところで使用している一般的なクラスがあり、(場合によっては) 特別な能力を付与したいという状況があります。議論のために、型チェックは必須ではないとしましょう。

単なる継承やメンバー関数ではなく、クラスに機能を与える方法は何ですか?

  1. 私が見た 1 つの方法は、一種のミューテーターがクラスをラップし、少し変更して、より多くの機能を備えたバージョンを吐き出す「デコレーター」パターンです。

  2. 私が読んだことがあるが使用したことのない別のものは、ゲーム用です。エンティティとパワーアップ/オーグメントと関係があります。詳細はわかりませんが、リストがあると思います。

  3. ???

一般的な要点といくつかのキーワードほど、特定の言語の特定のコードは必要ありません。そこから実装できます。

4

2 に答える 2