独学でプログラミングを学ぼうと決めたとき、私は Java から始めました。また、単純な手続き型ソフトウェア (主に PHP) を作成することには慣れていますが、より複雑な操作ではオブジェクトに依存していることに最近気付きました。
私の最初の Java ゲームは、オブジェクトをインスタンス化することによって、ランダムな場所とランダムな速度で対戦相手を生成しました。これを C で手続き的に実装するという概念に戸惑っていますが (これについては実用的な知識がほとんどありません)、各対戦相手の変数に対して異なる配列を作成し、配列インデックスを疑似オブジェクト参照 '変数として使用することしか考えられませんでした。 '。
int size[50]; // opponent size
for (i = 0; i < 100; i++) {
size[i] = random_number();
}
私のオブジェクト指向の心が見落としている簡単な解決策はありますか? それとも、偽のオブジェクトを作成する (または少なくとも同様のモデルを使用する) 必要があるという点で、オブジェクト指向の概念に本当に役立つ問題があるのでしょうか? 私は C コードで構造体をよく見かけますが、概念的にはクラスに似ていることは知っていますが、私が知っているのはそれだけです。ですから、このようなことが完全に非オブジェクト指向の考え方で可能かどうか疑問に思っています。インスタンス化に代わるものはありませんね。それはすべてメモリの割り当てにすぎないので、特定の C プログラムは、私がオブジェクトと見なす何らかの形式を使用して作成するしかありません。
そうでなければ、オブジェクト指向パラダイムを非難する C 純粋主義者を尊重できないからです。(私は決してオブジェクト指向の狂人ではありません。しかし、私の心はこの考えに非常に慣れてしまっており、慣れ親しんだものを提供しない別のレンズを通して物事を見るのは難しいです。)
ありがとう!