「こんにちは、アミーゴ!」

「こんにちは、エリー!」

「今日は Java のクラスについて詳しく説明します。」

解説その1。喩えから始めます。物質世界のすべてのものは原子で構成されています。原子にはさまざまな種類があります。水素、酸素、鉄、ウラン…これらの原子の組み合わせが、さまざまな分子、物質、物質を構成します。」オブジェクト。」

「これらの原子は、電子や陽子と中性子からなる原子核などの内部構造を持っています。」

「はい、原子の構造については少し知っています。私はロボットですから!」

「Java の世界も同様の構造になっています。プログラムはさまざまな種類のオブジェクト (クラス) で構成されています。クラスが異なれば、内部構造 (変数やメソッド) も異なります。」

「プログラムを全体として見ると、その構成要素であるビルディング ブロックはオブジェクトです。クラスはブロックの種類です。言い換えれば、異なる種類のブロックは異なるクラスのオブジェクトです。

「理解できた気がする。」

"説明その2。新しいオブジェクト型が必要な場合は、新しいクラスを作成し、その内部オブジェクトの動作方法を定義します。"

「それは少し一般的すぎるように思えます。それは明らかですが、具体的なことは何も言っていません。」

「内部構造に関して言えば、クラスは何かを行うメソッドと、メソッドがデータを保存するために使用する変数で構成されます。

「では、クラスはメソッドの集合であると言ったほうが簡単でしょうか?」

「ほとんどです。より正確に言うと、クラスは、関連するメソッドと、これらのメソッドがさまざまな値を格納するために使用する共有変数のグループです。」

「なるほど。新しいクラスを作成するには、まずこれらのメソッドを記述する必要があります…」

「はい。そして、異なるメソッドがどの変数を共有するかを決定する必要もあります。これらの変数をメソッドから取り出してクラスに入れます。つまり、ローカル変数をメンバー (インスタンス) 変数に変換します。」

「基本的に、クラスは次のように作成されます。

1. プログラマは、他にどのようなオブジェクトが必要かを決定します。

2. プログラマは、実行する内容に応じて、これらのオブジェクトをさまざまなタイプに分割します。

3. プログラマは、タイプごとに個別のクラスを作成します。

4. クラス内で、必要なメソッドと変数を宣言します。

5. 各メソッドで、メソッドに必要なことを実行させるコマンドを記述します。

6. クラスの準備が完了しました。これで、クラスのオブジェクトを作成できるようになりました。」

「すごいですね! 面白いパターンですね! 覚えておきたいですね。」

「覚えておいてください。きっと役に立ちます。プログラムをオブジェクトに分割することを要求するプログラミング哲学は、オブジェクト指向プログラミング( OOP ) と呼ばれます。」

「Java は OOP 言語の典型的な例です。Java ではすべてがオブジェクトです。」

「Java の学習は 2 つの大きなタスクで構成されます。自分自身のクラスの作成方法を学習することと、他の人のクラスの使用方法を学習することです。今日はこれらのうち最も単純なクラスから始めます。最も単純なクラスの作成方法を学びます。そしてもちろん、 、これらのクラスのオブジェクトを作成する方法。オブジェクトは、クラスの「インスタンス」とも呼ばれます。これらは同義語であり、どちらの表現も正しいです。」

"とった。"

「要約すると、クラスはミニプログラムであると言えます。いくつかのデータと、そのデータを使用して何かを行う関数です。クラスは、オブジェクトとも呼ばれるクラスのインスタンスを作成するために使用されます。

「オブジェクトを作成するには、new class_name()コードに ' ' を記述します。いくつかの例を次に示します。」

Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

「オブジェクトには 2 つの興味深いプロパティがあります。」

"まず各オブジェクトはインスタンス変数の独自のコピーを保存します。これは、インスタンス変数 x と y がクラスで宣言され、そのクラスの 10 個のオブジェクトが作成された場合、各オブジェクトが独自の変数を持つことを意味します。1 つのオブジェクト内の変数を変更するオブジェクトは別のオブジェクトの変数に影響を与えません。

"第 2に、オブジェクトを作成するときに、さまざまな引数を渡すことができます。これらの値は、オブジェクトを初期化するために使用されます。新生児に名前を付けるのと少し似ています。多くのクラスは、クラスのインスタンス (オブジェクト) を作成するためにそのような引数を必要とします。 "

「分かりました。インスタンス変数については何と言ったでしょうか?」

「各オブジェクトには独自のデータがあります。これらがインスタンス変数です。」

Javaコード 画面出力:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
オスカー
・スマッジ