ホームページ  >  記事  >  リスト内のすべてのオブジェクトに一意の名前を付ける必要がありますか?

リスト内のすべてのオブジェクトに一意の名前を付ける必要がありますか?

王林
王林転載
2024-02-08 21:30:25646ブラウズ

プログラミングでは、リスト内のオブジェクトに一意の名前を付ける必要がある状況によく遭遇します。しかし、本当に各オブジェクトに一意の名前を付ける必要があるのでしょうか? PHP エディターの Strawberry は、答えが絶対ではないことを教えてくれます。場合によっては、特にオブジェクトを参照または区別する必要がある場合、オブジェクトに一意の名前を付けると、コードをより適切に整理および管理できるようになります。ただし、オブジェクトに一意の名前を付ける必要がなく、他の方法で識別および操作できる場合もあります。したがって、リスト内のすべてのオブジェクトに一意の名前を付ける必要があるかどうかは、特定のニーズと設計によって異なります。

質問内容

私はコンピュータサイエンスの1年生です。 Java クラスの課題の一部として。カード オブジェクトを含む arraylist であるデッキ クラスを作成する必要があります。

これは私がコーディングしたカード オブジェクトの例です:

リーリー

個々のカードを標準デッキにロードする方法を理解しました。各カードに一意の名前を付ける方法がわかりません。たとえば、プレイヤーが手の中のカードを確認できるように、カードとスートを画面に表示するにはどうすればよいでしょうか? (プレイヤーの手札のカードのリストを含むクラスも作成する必要があります。)

カード オブジェクトのリストを作成する場合、それらが含まれるスロットを何らかの方法で参照して、それぞれのメソッドを呼び出すことはできますか?どうすればいいですか?デッキから手札に移すと状況は変わりますか?

通常、オブジェクトに対してメソッドを使用するときは、名前 (たとえば、card1) を付けてオブジェクトを作成します。次に、そのカードのデータを使用するメソッドを呼び出して、スーツの値を返したい場合は、 card1.gestit() と言うでしょう。しかし、リスト内に多数のオブジェクトを作成するときにこれを行う方法がわかりません。

私の脳が物事を複雑にしすぎているのかもしれないと感じていますが、とにかく Java のさまざまな観点をよりよく理解する方が良いと思うので、この種の質問をするのが好きです。助けてくれる人に感謝します!

注: Java クラスの 2 学期目を始めたばかりなので、おそらく最も遠くまで学習したのは継承のようなものです。私たちは、列挙型、定数リスト、またはより複雑なものについては知ることを期待されていません/知る必要はないと思います。 javafxをたくさんやるそうです。

回避策

いいえ、異なる名前の個別のオブジェクトを作成する代わりに、オブジェクトへの参照をリストに保存できます。

リーリー

この方法では、別の名前を付けることなく、多くのオブジェクトをリストに追加できます。

人間を 1 つのクラスとして考えてください。各人はそのクラスのインスタンスです。すべての人間が固有の名前を持つ必要があるのでしょうか?あなたは「ジョー」または「エレン」を何人知っていますか?人は名前を 1 つだけ持つことができますか、それとも複数の名前を持つことができますか? (母から電話がかかってきます...でも友達からは電話がかかってきます...)

ポインターがオブジェクトを参照できるのと同じように、名前は人間を参照するために使用されます。

ただし、注意してください: Java がオブジェクトへの参照を見つけられず、オブジェクトが存在しない (つまり、スレッドが実行されていない) 場合、オブジェクトはガベージ コレクションされて破棄されます。

以上がリスト内のすべてのオブジェクトに一意の名前を付ける必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。