クラスからオブジェクトを作る

広告

前のページでクラスとは設計図だと書きましたが、車の設計図が人を乗せて走ってくれるわけではありません。実際に動かすためには設計図を元に実際に物体を作る必要があります。

クラスを元に実際に作った物をオブジェクトと呼んでいます。クラスから物体を作成するには"new"を使います。

クラス名 変数名 = new クラス名(引数);

上記で記述した変数名というのが、作成したオブジェクトを認識するための名前となります。

例えば"Televison"と言うクラスがあった場合に、そのクラスからオブジェクトを作成するには下記のような記述となります。(引数が無い場合)。

Televison tv = new Television();

又は次のようにも書く事ができます。

Televison tv;
tv = new Television();

クラスからオブジェクトを作成する記述の仕方は変数の宣言と同時に初期値を設定する記述と似ています。例えばStringクラスの変数を作成して、初期値を同時に代入する場合は下記のようにしていました。

String str = "abcde";

上記は次のようにnewを使って記述することもできます。

String str = new String("abcde");

このようにJavaのプログラムは、自分で設計したクラスや、既に用意されているクラスを元にしてオブジェクトを作成し、そのオブジェクトに色々な処理を行ってもらうように命令していくわけです。

また変数がいくつでも作成できたように、同じクラスを元にいくつでもオブジェクトを作成することが出来ます。これは1つの設計図から複数の物体を作れるのと同じことです。元になっている設計図(クラス)は同じであっても、そこから作成された物体(オブジェクト)はまったく別のものですので、それぞれ別々に動かすことができます。

Televison tv1;
Televison tv2;

tv1 = new Television();
tv2 = new Television();

上記の場合で言えば、2台のテレビを作成してあります。1台のテレビで何か番組が映っていたとしても、もう1台のテレビはまったく別物ですので、別々に動作します。ただ、その元になっている設計図は同じということです。

クラスとオブジェクトの関係はこのような感じになっています。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)