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

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

質問内容

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

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

リーリー

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

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

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

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

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

回避策

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

リーリー

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

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

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

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

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。