最近、私はJavaを調べることにしました。それで、Javaとオブジェクト指向プログラミングのアプローチにまだかなり慣れていないので、もっと学ぶ前にいくつかのことをまっすぐに理解したかったのです(良い習慣から始めるのはすぐにはないと思います) )。
私は今のところ小さな2Dゲームをプログラミングしていますが、私の質問は些細なプロジェクトにも当てはまると思います。簡単にするために、ゲームの例を示します。
私はさまざまな種類のゾンビを持っていますが、それらはすべて同じ属性(x、y、ヘルス、攻撃など)を持っているので、WalkingZombie、RunningZombie TeleportingZombieなどで実装するインターフェースZombieを作成しました。これは最善の方法ですか?抽象クラスの方がいいですか?またはスーパークラスで?(私は関数を部分的に実装する予定はありません-そのため、抽象クラスの代わりにインターフェースを選択します)
主人公(サバイバー)を説明するクラスが1つありますが、かなり大きいので、さまざまな機能を備えたインターフェースを作成して、その構造を簡単に確認して共有できるようにしたいと思いました。それは良い習慣ですか?それとも単にスペースと時間の無駄ですか?
インターフェイス/スーパークラス/抽象クラスの使用は論理的なルールに従い、単なる個人的な選択ではないため、経験豊富なプログラマーはこの種のトピックについて異議を唱えないと思ったので、この質問が主観的なものとして評価されないことを願っています。