クラス定義(フィールド・コンストラクタ・メソッド)
クラスの定義は下記のような構文で行います。
各部の説明の前に、実際にサンプルを作ってみます。
この例では「Car」というクラスを定義しています。
この部分でフィールドの宣言を行っています。
フィールドとは、クラスまたはインスタンスに属する変数のことを言います。
フィールドには個々のインスタンスごとに定義されるインスタンス変数と、クラス全体で共有するクラス変数があります。
Carクラスにはインスタンス変数としてStringのnameと、int型のnenpi、int型のhaikiryoの3つを宣言しています。
インスタンス変数の書式は下記になります。
修飾子 データ型 変数;
上記例では修飾子を省略しています。
※クラス変数、修飾子については別の記事に詳しく書きます。
この部分でCarクラスのコンストラクタを定義しています。
コンストラクタとはインスタンスの生成時に実行される特殊なメソッドのことを言います。
コンストラクタは下記のように定義します。
コンストラクタのメソッド名は必ずクラス名と同じにする必要があり、戻り値は指定しません。
この部分では3つのメソッドを定義しています。
メソッドとは、クラスまたはインスタンスに属する機能や操作のことを言います。
メソッドは下記のように定義します。
ここでも修飾子を省略しています。
メソッドは渡されたデータ(引数)を用いて何らかの処理を行い、その結果(戻り値)を返します。
今回新しい用語がたくさん出てきましたが、それら全てを一度に理解する必要はありません。
まずは一度プログラムを書いてみて全体の流れをつかむことが重要になってきます。
次回の記事では、実際に今回定義したクラスのインスタンスを生成し、生成したインスタンスを扱ってみたいと思います。
[クラス修飾子] class クラス名{
フィールドまたはメソッドの宣言
}
各部の説明の前に、実際にサンプルを作ってみます。
class Car{
String name;
int nenpi;
int haikiryo;
Car(String n, int ne, int ha){
name = n;
nenpi = ne;
haikiryo = ha;
}
String getName(){
return name;
}
int getNenpi(){
return nenpi;
}
int getHaikiryo(){
return haikiryo;
}
}
この例では「Car」というクラスを定義しています。
String name;
int nenpi;
int haikiryo;
この部分でフィールドの宣言を行っています。
フィールドとは、クラスまたはインスタンスに属する変数のことを言います。
フィールドには個々のインスタンスごとに定義されるインスタンス変数と、クラス全体で共有するクラス変数があります。
Carクラスにはインスタンス変数としてStringのnameと、int型のnenpi、int型のhaikiryoの3つを宣言しています。
インスタンス変数の書式は下記になります。
修飾子 データ型 変数;
上記例では修飾子を省略しています。
※クラス変数、修飾子については別の記事に詳しく書きます。
Car(String n, int ne, int ha){
name = n;
nenpi = ne;
haikiryo = ha;
}この部分でCarクラスのコンストラクタを定義しています。
コンストラクタとはインスタンスの生成時に実行される特殊なメソッドのことを言います。
コンストラクタは下記のように定義します。
修飾子 クラス名(引数の型 引数名, ………){
コンストラクタ内部処理
}コンストラクタのメソッド名は必ずクラス名と同じにする必要があり、戻り値は指定しません。
String getName(){
return name;
}
int getNenpi(){
return nenpi;
}
int getHaikiryo(){
return haikiryo;
}この部分では3つのメソッドを定義しています。
メソッドとは、クラスまたはインスタンスに属する機能や操作のことを言います。
メソッドは下記のように定義します。
修飾子 戻り値の型 メソッド名(データ型 引数名, データ型 引数名, ………){
メソッド内部処理
}
ここでも修飾子を省略しています。
メソッドは渡されたデータ(引数)を用いて何らかの処理を行い、その結果(戻り値)を返します。
今回新しい用語がたくさん出てきましたが、それら全てを一度に理解する必要はありません。
まずは一度プログラムを書いてみて全体の流れをつかむことが重要になってきます。
次回の記事では、実際に今回定義したクラスのインスタンスを生成し、生成したインスタンスを扱ってみたいと思います。
