5章 クラスの作成
学習のポイント
Javaは、クラスを作成してプログラミングしていきます。クラスの構成要素「フィールド」「コンストラクタ」「メソッド」を理解し、実行クラスでのインスタンス化を理解しましょう。
1. クラスの基本形 | |||||||||||||||||||||||||
public class クラス名 {//クラスブロックの開始 クラスの中では、「フィールドの宣言」「コンストラクタの宣言」「メソッドの宣言」から構成されています。 Javaのプログラムは、{ }で囲まれる「ブロック」から構成されています。ブロックとは「複数の命令文をまとめる機能」があります。 |
|||||||||||||||||||||||||
2. アクセス修飾子 | |||||||||||||||||||||||||
フィールドはクラスの最初に定義するのが一般的です。通常は以下のようにします。 アクセス修飾子 型名 フィールト名; 例として、public String name; です。 アクセス修飾子のアクセス範囲は以下の通りです。
|
|||||||||||||||||||||||||
3. カプセル化とは? | |||||||||||||||||||||||||
クラス作成の基本は「カプセル化」です。これは、「フィールドをクラス外部から見えないように「private」で指定し、フィールドの取得「ゲッター」とフィールドへの設定「セッター」というメソッドを定義する」というものです。 ゲッターとセッターを併せて「アクセサメソッド」といいます。 |
|||||||||||||||||||||||||
4. メソッドとは? | |||||||||||||||||||||||||
メソッドとは、クラスの中で定義されたサブルーチンのような一連の処理を行うものです。
実際の定義は以下のようにします。 アクセス修飾子 戻り値の型 メソッド名(仮引数リスト) 例えば以下のようにします。
public void pafuPrint(String str){ |
|||||||||||||||||||||||||
5. コンストラクタとは? | |||||||||||||||||||||||||
「new」演算子を使用してクラスのインスタンスを作成できます。この時、インスタンスを生成するときに呼び出される特殊なメソッドを「コンストラクタ」と言います。コンストラクタには以下の条件があります。 ■ 名前はクラス名と同じにする。 ■ 戻り値の指定はしない。 ■ サブクラスへは継承されない。 以下のようにます。
public class Pafu {
public class PafuMain { ※ここで「this」とは「このクラスのインスタンスそのものを指します」 |
|||||||||||||||||||||||||
6. クラスの仕様 | |||||||||||||||||||||||||
では、実際にクラスを作成してみましょう。今回は、「商品クラス」「CSyohin」を作成します。このクラスは以下の通りとします。 ■ フィールド ・商品名 ・価格 ■ コンストラクタ ・上記の2つのフィールドの初期化 ■ メソッド ・商品名フィールドのゲッター ・価格フィールドのゲッター ・買い物メソッド ※引数に氏名・数量を指定 ※処理として、氏名さんが商品(XXX円)を10個買ってXXX円です。 と画面表示します。 |
|||||||||||||||||||||||||
7.クラスの作成 | |||||||||||||||||||||||||
以下のようになります。
|
|||||||||||||||||||||||||
8. クラスのインスタンス化 | |||||||||||||||||||||||||
次に、クラス「CSyohin」をインスタンス化します。これは、メインクラス「CMain」で行います。メインクラスは実行クラスで「mainメソッド」を持ちます。Javaのプログラムでは、このmainメソッドから実行されるようになっています。 実行すると画面には、以下のように表示されます。
田中さんはバナナ(100円)を5個、買って500円でした。 |
|||||||||||||||||||||||||
9. まとめ | |||||||||||||||||||||||||
クラスの簡単な作成例をご紹介いたしました。これ以外にもカプセル化には
■ クラス変数(static変数) オブジェクト指向の三大要素は「カプセル化」「継承」「ポリモーフィズム」です。カプセル化の基本は非常に重要です。しっかり理解しましょう。 基本情報技術者試験の午後Javaでは、クラスの定義で、mainメソッドのある実行クラスに「public」が指定されて、それ以外のクラスにはアクセス修飾子は「デフォルト(なし)」と指定されて出題されています。 |
カプセル化をもっと学びたいという方は「pafuイーランスクール」「Javaオブジェクト指向講座」よりご確認ください。また、書籍のみご希望の方は「こちら」よりご確認ください。
メニューへ戻る