Javaのクラスについて

クラスを作ってみよう

生徒
生徒

教授?
Javaのクラスって何ですか?

教授
教授

Javaのプログラムに動かす時の「器」になりますよ?
例えば、教授の乗り物である「もけもけ」のクラスを作ってみましょう。

public class Mokemoke{
    public String color;
    public String size;

    public void figure(){
         //姿
         System.out.println(color + "くて" + size +"大きい");
   }

    public void eat(String food){
         //食べる
         System.out.println(food + "もけもけ");
   }

    public static String fireball(){
         //火の玉攻撃
         String fireball = "ふぁいあー";
         return fireball;
   }
}
生徒
生徒

ひえぇっ!!
これは、どこからどこまでがクラスなんですか?

クラスとは?

教授
教授

クラスですか?
クラスだけで言うなら、こんな感じです。

public class Mokemoke{
}
生徒
生徒

あれ?
ずいぶんシンプルになりましたね。

教授
教授

クラスというのは、変数やメソッドを入れておく器(うつわ)です。

生徒
生徒

つまり、今のクラスは中身が空だから、こんなにもシンプルになっているのですね。

教授
教授

その通りです。

クラスと変数

生徒
生徒

クラスというのは、器ですよね?
じゃあ、中身の変数やメソッドって何ですか?

教授
教授

では、クラスに変数を入れた状態にしてみますね。

public class Mokemoke{
     public String color;
     public String size:
}
生徒
生徒

何やら3行ほど増えていますね。

教授
教授

その3行が変数の部分です。
変数は、「可視性」+「型」+「変数名」; というように宣言します。
また、変数名の最初は小文字にします。

生徒
生徒

へぇー。
じゃあ、Mokemokeというのは変数名ではないんですね?

教授
教授

その通り。
Mokemokeは、クラス名です。
クラスは、「可視性」+ class +「クラス名」{} というように宣言します。
また、クラス名の最初は大文字にします。
「可視性」や「型」については、また後日の説明にします。

クラスとメソッド

教授
教授

クラスにメソッド部分を入れると次のようになります。

public class Mokemoke{

    public void figure(){
         //姿
         System.out.println(color + "くて" + size +"大きい");
   }

    public void eat(String food){
         //食べる
         System.out.println(food + "もけもけ");
   }

    public static String fireball(){
         //火の玉攻撃
         String fireball = "ふぁいあー";
         return fireball;
   }
}
生徒
生徒

System.out.println の部分はどこかで見たことがありますね。

教授
教授

以前、説明していますよ?

生徒
生徒

そういえば、そうでしたね。
じゃあ、文字列を表示させるという意味でいいんですか?

教授
教授

そうです。
メソッドは、「可視性」+「戻り値の型」+「メソッド名」+(「引数」){「処理」}というように宣言します。

生徒
生徒

ということは……2行目だと
public 「可視性」
void 「戻り値の型」
move 「メソッド名」
という、当てはめ方で良いのですか?

教授
教授

そうなりますね。
ちなみに、()の中に何も書いていない時は、引数が無いということになります。
また、引数は「引数の型」+「引数名」という書き方になります。

生徒
生徒

public void eat(String food) の部分で言うと、String foodが引数ですね。
Stringが「引数の型」で、footが「引数名」ですよね?
でも、public String fireball() のところは、「戻り値の型」が違うのですか?

教授
教授

その通りです。
「戻り値の型」が void の時は、戻り値が無いという意味になります。
また、「戻り値の型」が String の場合は、戻り値の型が文字列型であるという意味です。
return fireball; というところで、戻り値である文字列、「ふぁいあー」を返します。
戻り値の設定は、return+「戻り値」としますよ。

クラスの使い方

生徒
生徒

なんていうか、結局クラスって何をするためのものなんですか?

教授
教授

クラスは「器」であると言いました。
その器に、何らかの要素を表す「変数」や動きを表現する「メソッド」を入れておきます。
そして、インスタンス化することによって使います。
その説明があるまで、しばらくお待ちください、です。

生徒
生徒

それは、また別のお話、というわけですね?

教授
教授

そんな感じです。

タイトルとURLをコピーしました