2016-05-21 2 views
0

、現時点では、私は文字クラスの一部をコーディングしています、私は矢印が継承を象徴この特定のケースでは、定数のインターフェイス/クラスに最適な代替方法はありますか?

(Abstract)Character ^ ^ | | PlayableChar. EnemyChar.

のようなものがあるでしょう、私は、Javaを学んだし、私はゲームを作ってるんです(たぶんもっと多くのクラス/サブクラスが中間にあります)。

Cから来ているので、多くの場所でこれらの定数を使う必要があるので、定数(MAX_HP_PLAYER, MAX_ATTACK,...)で埋め尽くされたインターフェイス/非インスタンス化可能なクラスを定義するのは当然のことでした。 Character階層。しかし、私はここで、そして多くの場所でこれが本当に良い習慣とは見なされていないことを知り、この種のシナリオで推奨される解決策を見つけられませんでした。

誰かが私を助けてくれますか?ありがとう!

+0

関連付けられているクラスの下に「公開」することができます。他のクラスも引き続きアクセスできますが、論理的な場所に配置されます。 – resueman

+1

'' 'MAX_HP_PLAYER'''のようなものは、' '' '' MAX_HP'''のように '' Player''クラスの一部でなければいけませんね?なぜ別のクラスを使うのですか? –

+1

ooの観点からは、コンテキスト内で定数を定義して使用する必要があるため、キャラクターに関連する定数を定義するCharaterインターフェースを使用することもできますが、肉体的には階層の外に、子インタフェースに必要なときに新しい定数を追加することができます(例として)。 – MadProgrammer

答えて

0

私は(すべての文字が同じ例えばMAX_HP持つかどうかに応じて、多分staticからstaticは理にかなっている場合)をfinalとしてそれらを定義したいことは、彼らのために最善の状況だと何Iから(あなたのCharacterクラス内文字は例えばMAX_HPなどを参照してください)。

関連する問題