前回はオブジェクト指向について簡単に復習したから今日は続き。
おさらいとして、オブジェクト指向は2種類のクラスがあり、それぞれ、
実行用クラス
設計図クラス
があると確認。
んじゃ、どうやって書いていくかの基本的なところを復習開始。
お品書き
- 設計図クラスって?
- メソッドの定義
◆設計図クラスって?
設計図クラスには属性と操作を記述するが、この、属性、操作というのはオブジェクト指向の考え方の用語。
※オブジェクト指向の用語とプログラミングの用語がごっちゃになると頭がパンクするので切り分けて覚えよう。
そんで、
属性はプログラミングで変数を使って実現。
操作はメソッドを使って実現。
どう書くか。
java
class クラス名{
変数の定義
・
・
メソッドの定義
・
・
}
●変数の定義
データ型 変数名
例:String name;
int score;
宣言する場所がクラスのすぐ下。
実行用クラスと違うね。
◆設計図クラスSample
java
class Aaa{
//メンバー変数(属性)
//変数宣言はクラス名直下
String name;
int engScore;
int mathScore;
//メソッド(操作)
void display(){
System.out.println( name + "さん");
System.out.println("英語" + engScore + "点・数学" + mathScore + "点");
}
void setScore(int eng, int math){
engScore = eng;
mathScore = math;
}
double getAvg(){
double avg = (engScore + mathScore) / 2.0;
return avg;
}
}
※メンバー変数とは
mainクラスでも変数を設定したりするので、クラスがもつ属性としての変数のことをmainメソッドの変数と区別するためにメンバー変数と呼んだりする
◆メソッドの定義
java
戻り値の型 メソッド名(引数リスト){
(処理)
}
呼び出し元から受け取る値を引数
メソッドの処理の後に呼び出し元に返す値戻り値で、返す値はreturnで設定
何も返さない場合は戻り値の型にvoidを記述
java
class Aaa{
//メンバー変数(属性)
//変数宣言はクラス名直下
String name;
int engScore;
int mathScore;
//メソッド(操作)
void display(){ //メソッドの()は必ずつける
System.out.println( name + "さん");
System.out.println("英語" + engScore + "点・数学" + mathScore + "点");
}
void setScore(int eng, int math){ //受け取り用の入れ物を用意。つまり変数宣言
//受け取った値の代入
engScore = eng;
mathScore = math;
}
double getAvg(){ //少数点ありの平均点が欲しいのでdouble型
double avg = (engScore + mathScore) / 2.0; // 演算子が/で/2にするとint型になるので2.0で計算
return avg; //returnの後に返すデータと戻り値のデータ型を必ず合わせる。
}
}
復習memo:変数の有効範囲はブロック内のみ。
作成したクラスはメインメソッドがないのでクラス単体では動かない。↓
cmd
C:\Java\1>java Aaa
エラー: メイン・メソッドがクラスAaaで見つかりません。次のようにメイン・メソッドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります
C:\Java\1>
疲れたので続きは次の復習にします。