2011-12-15 11 views
1

HermioneはHogwartsの戦いから回復し、Java(オブジェクト指向プログラミング)をJavaで研究しています。彼女は自分の経験に基づいてゲームを構築することにしました 状態をあるインスタンスから別のインスタンスに移すより洗練された効率的な方法

人間は存在です。ウィザードも人間です。

ハウスエルフが存在します。

ゴーストは存在です。

彼女はいくつかの状態と行動を特定します。

すべての人に名前があります。

すべての人間には父親と母親がいます。

すべてのウィザードが魔法を実行します。

すべての家のエルフも魔法を実行します。

すべての幽霊はある場所に滑ります。

ウィザードをゴーストに変えるには、関連するすべての状態を のウィザードインスタンスから新しく作成したゴーストインスタンスにコピーすることで達成できます。より洗練された と効率的なアプローチは何ですか?

新しく作成されたGhostインスタンスポイントを、ウィザードインスタンスが指し示している状態にして、ウィザードインスタンスを削除するだけでもいいですか?私の悪い英語のため申し訳ありませんが、私はトラブルのJavaあなたは、インスタンスを削除することはできませんポインタ

をサポートしていません

+2

これは宿題に関する質問ですか?もしそうなら、正直でそれをタグ付けしてください。 – vidstige

答えて

0

タイトルを書いていました。

Ghostインスタンスにウィザードインスタンスを参照させることができます。しかし、私はこれが宿題だと思っています。宿題をするときには、期待される答えを得るだけでなく、あなたが話したように詳細をコピーすることをお勧めします。

効率は要件ですか?私はパフォーマンスが、あなたがこの課題で心配する必要があるものではないと考えています。それが問題であれば、パフォーマンスの要件は何ですか?

0

ゴーストとウィザードには共通のデータが必要です。これを独自のクラスにカプセル化します。あなたが魔法使いから幽霊を出すとき、幽霊の中のこの共通のデータを参照するだけです。ガベージコレクションを実行すると、ウィザードへのすべての参照が削除され、ウィザードは「永遠に」終了します。

関連する問題