Javaオブジェクト指向プログラミング講座

インスタンスを生成する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クラスを鋳型として具体的なインスタンスを生成するという概念と、Javaではnew演算子でコンストラクタを呼び出してインスタンスを生成することを解説します。
講師:
12:24

字幕

このレッスンでは、クラスを鋳型として具体的なインスタンスを生成するという概念とJava では new 演算子でコンストラクタを呼び出してインスタンスを生成するということを解説します。クラスを鋳型にしてインスタンスを生成します。UML で、例えば顧客というクラスを作成します。これは顧客番号、顧客名。クラスは値を持ちません。ただ番号・名前という属性名があるだけで具体的な値を持ちません。これに値を入れるとインスタンスになります。例えば、顧客番号「1001」番名前は「宮本太郎」さんだとします。次に顧客番号「1002」が「佐々木花子」さんだとします。このように次々一つのクラスからインスタンスをいくつでも作ることができます。例えば、顧客番号「1100」番、名前は誰それさんと。これは漢字でクラスを作りましたけれども分析モデルは日本語で作ります。これを Java でプログラムするためには設計モデルに落とします。設計モデルは英語です。英語にします。Kokyakuid : intname : String分析モデルでは特に型を書きません。まあ書いてもかまいませんけれども。Java でプログラムをするためには型を書かないとプログラムできません。 ここで id 顧客番号は int 型、顧客名は String だとします。これを元にインスタンスを作ります。これも同じくid=1001 が宮本太郎id=1002 が佐々木花子というふうにこうなっていきます。これは上を Java に落とし込む時に英語にしただけです。つまりクラスというのは鋳型で一つの鋳型でインスタンスをいくつでもできるということです。Java の場合どう書くかというとまずクラス名ですね。Kokyaku k これは変数名です。顧客型の変数 k とします。これ k は何でも良いです。変数名です。次にここで new 演算子、new と書いて次に Kokyaku ( ) と書いています。メソッドみたいですがこれはコンストラクタなんです。コンストラクタというのはクラス名と名前がまったく一緒ですね。つまりここの new 演算子でインスタンスを作ります。これは値は何も入っていません。顧客番号も名前も何も入っていません。クラス名、それから変数名ですね。そして new 演算子。それからコンストラクタ。「new 演算子」というのはコンストラクタを呼び出しメモリ状況を加工してオブジェクトを生成します。 「コンストラクタ」というのはオブジェクトを初期化します。クラスからインスタンスを生成するイメージを、たい焼きの例で示します。これはたい焼きの鋳型です。この鋳型からたい焼きができます。一つの鋳型から同じ形のものがいくつでもできるわけですね。この鋳型に従っていくつでもできる。このできたものがオブジェクトです。もうちょっと詳しく見てみます。たい焼きの鋳型に具を詰めるわけですね。これがメモリ領域を割り当てるということです。そして今度は焼くわけです。焼くというのは、メモリの領域を初期化するということです。そうすると、たい焼きというオブジェクトが生成されるという流れになります。次はインスタンスに値を設定します。フィールドのアクセスは変数名.フィールド名です。Kokyaku k = new Kokyaku としてメモリ領域を加工しました。値は何も入っていません。Kokyaku 番号 1001 にしようと。 k.id ですね。このオブジェクトの id というフィールドに1001 という値を代入します。名前ですね、k.name ここに宮本太郎というストリング型で代入します。ここに変数名.field 名で、そのフィールドをアクセスすることができます。 これまあ代入しましたけれども逆に読む時もk.id、k.name で読むことができます。フィールドに値を設定する時はこういうふうにします。次にメソッド呼び出しですね、変数名.メソッド名です。例えば、今 Kokyaku というクラスにprint というメソッドがあります。print というメソッドは、顧客番号と顧客名を表示するメソッドです。この呼び出しも、同じく変数名.メソッド名です。インスタンス生成を NetBeans でプログラムしてみます。NetBeans を開きます。それで「新規プロジェクト」ここの部分をクリックします。それで Java、Java アプリケーションをこうしておいてこのまま「次>」を選択します。「プロジェクト名」を instance とします。「プロジェクトの場所」ですがデスクトップに java というフォルダを作ります。それで java というフォルダの下にChapter 3 だから ch03 というフォルダを作ります。デスクトップに java、その下に ch03 というフォルダを作ります。ここに、自分のデスクトップの下にjava というフォルダを作ってch03 というフォルダを作ってください。 開きます。それで、あとはメインクラスを作ります。Java メインから始まりますので動かすためにはメインが必要です。ここにクラス名ですけれども前のインスタンスはこれパッケージ名です。メインクラスはメインとしておきます。ここから動かします。それで終了にします。すると、どうなるかというとMain というクラス NetBeans を使うと自動的にできます。中に Main クラスここに main メソッドがあります。Java は main から動きますのでmain メソッドから実行されます。package instance というものが作られています。これはフォルダになります。実際 instance のフォルダになっていますね。ここにさっき説明した instance のプログラムを書いてみましょう。この // TODO となっている下に自分のプログラムを書いていきます。その前に Kokyaku というクラスをまず作ります。動かす前に、Kokyaku というクラスを作ります。class Kokyaku作ります。この中にフィールド、 id と name を書きます。int.id;String name2つフィールドを作ります。 次に顧客番号と顧客名を表示するメソッドを追加します。print とします。void printそしてここにSytem.out.println を追加します。Sytem.(ドット)out.(ドット)printlnそれで顧客番号ここに id とプラスとname ですけれど間にスペースを1つ開けますので+ name と。こうしておきます。ソースを綺麗にするためには上の「ソース」の「フォーマット」というメニューを選ぶとソースが綺麗に整理されます。次にこれで顧客ができたのでmain でこれを動かしてみましょう。TODO の下に顧客のインスタンスを作ります。K0(ゼロ)としておきましょう。ここで new 演算子ですね、コンストラクタを呼びます。これで一つできました。ここに id を入れます。k0.id次にこれを表示してみます。k0.print ( ) と。これで一応できました。実行をかけてみます。ここの三角をクリックすると実行がかかります。1001 スペース宮本太郎と。この k0.print でid とスペースを空けて名前が表示されます。この顧客の print メソッドが実行されてもう一人インスタンスを追加してみましょう。 今度は Kokyaku k1 とします。そして k1 の id と名前を追加します。顧客番号 1002 としてk1.name = "佐々木花子"としてこれをプリントします。それで実行をかけます。そうすると2人分、顧客番号と顧客名が表示されます。このレッスンではクラスを鋳型として具体的なインスタンスを生成するという概念とJava では new 演算子でコンストラクタを呼び出してインスタンスを生成することを解説しました。

Javaオブジェクト指向プログラミング講座

このコースではオブジェクト指向プログラミングの3大特徴である「カプセル化」「継承」「多態性」を、UMLモデルとJavaプログラムを対比しながら解説します。「カプセル化」ではコンストラクタや可視性、「継承」ではUML汎化関係とJavaの関係、「多態性」では継承およびインタフェースによるプログラミング方法などを説明します。

3時間23分 (36 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2016年09月27日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。