Java演習04〜クラスを理解する フィールド編
今回は、Javaにおけるクラスについてとクラスの構成要素について詳しく説明していきます。
初心者の方向けへの解説ですので、厳密には意味が異なる可能性がありますが、
まずは理解を深めると言うところに重きを置いていきます。
インスタグラムの演習解答をすぐにご覧になりたい方は、こちらをクリック!
クラスとは
「クラスって学校とかのクラスですか?」
「意味のあるまとまり」という観点で言えば正しいです。
今回は、「Triangle.java」というクラスを作成します。
これは「三角形」という意味のクラスです。
Javaにおけるクラスとはどう言うものなのでしょうか?
Javaにおけるクラス
Javaにおけるクラスとはずばり
設計図 です。
つまり、Triangleクラスは三角形の設計図ということです。
クラスのまとまり
先ほど、Javaのクラスも「意味のあるまとまり」と言えると話しました。
Javaにおけるクラスのまとまりとは以下の通りです。
Triangleクラスを例に出すと、
- 底辺や高さなど「性質や状態」
- 面積を求めるなど「できること」
を一つにまとめたものをTriangleクラスと呼びます。
もっと簡単に、スマートフォンクラスがあったとしましょう。
そうすると、
「性質や状態」は、機種名や電話番号、色などスマートフォンの情報が挙げられます。
「できること」は、電話をかける、LINEをするなどスマートフォンの機能が挙げられます。
これらをまとめたものを「クラス」と呼んでいるわけであります。
クラスの具体例
今回使用するクラスを以下に示しておきます。
後述のリンクからお越しの方は、ブラウザバックをすれば、
先ほど読んでいたところまで戻ることができます!
クラスの定義方法
それでは実際に、クラスの定義方法を見ていきましょう。
修飾子 class クラス名 {
本体
}
順番に詳しく見ていきましょう!
修飾子
修飾子については、後々に詳しく学んでいきます。
今は、クラス名の前には「public」というキーワードを指定すると覚えておきましょう
クラス名の定義
修飾子の後ろに「class」キーワードを記述します。
その後ろにクラス名を指定します。
今回は、三角形を意味する「Triangle」をクラス名に指定しています。
クラスの本体
「本体」がクラスの具体的な記述となります。
フィールドの宣言、コンストラクタ定義、メソッド定義をします。
本記事はフィールドについて説明しています。
次回以降にコンストラクタ、メソッドについてご説明します。
今回は、1行目の「{」から31行目の「}」までの箇所が本体です。
フィールド
先述の「状態や性質」を指します。
クラス具体例の2〜4行目がTriangleクラスのフィールドになります。
では、三角形に必要な「状態や性質」とはなんなのでしょうか。
それは、「底辺」と「高さ」です。
底辺と高さの状態が分かれば、三角形を設計できます。
後々、面積を算出したいので、面積も定義しておきます。
なかなかイメージできない方は、
「クラスが持つべき情報」というイメージをしてみてください。
スマートフォンで言う、電話番号や色などの情報
三角形で言う、底辺や高さの情報
必要な情報、状態とイメージしてください!
フィールドの定義方法
フィールドの定義方法は以下の通りです。
修飾子 変数の型 フィールド名;
フィールドの修飾子は、「private」となっています。
こちらのキーワードは、フィールドを他のクラスから隠すという意味を持っていますが、
今は特に気にする必要はありません。
点数管理システム
今回から複数回に分けて、ごくごく簡単な点数管理システムを作成します。
機能は以下の通りです。
- 対象は、国語・数学・理科・社会・英語の5教科
- 合計点を算出する
- 平均点を算出する
- 生徒名を指定して、合計点と平均点を表示する
今回は、このシステムのフィールドを宣言してみましょう!
クラス名は、「Score」としましょう。
このクラスの「状態や性質」または「必要な情報」とはなんでしょうか。
もちろん5教科の点数ですよね!
それと、今回は合計点と平均点も必要な情報となります。
生徒名は指定するので、必要な情報ではありません!
今回は全て整数型で以下の7つのフィールドを定義してください。
- japanese
- math
- science
- society
- english
- sum
- ave
それでは解答です。
いかかでしたか?
「private」というキーワードをしっかりとつけていますか?
フィールドの定義やイメージを掴めることはできましたか?
間違えた方は、この記事を一から読み直しです!!
まとめ
今回は、Javaにおけるクラスと、
クラスの構成要素の一つであるフィールドについて説明しました。
次回以降に、コンストラクタとメソッドについて説明していきます。
フィールドは「状態や性質」「必要な情報」
このイメージだけ覚えておいてください!
お疲れ様でした!