クラスを定義する

クラスを設計していく上でのコツは「もの」について着目してみるということです。

たとえば、、、

猫、猫にしましょう。プログラム上で猫を作るとします。

なので、今回着目すべきは猫ですね。

 

では、着目といわれても、どこを見ればいいのでしょうか?

大きく分けて2つ、状態と機能です。

例に挙げるとしたら、

f:id:creators_plus:20140802063513p:plain

機能は走る、食べる、鳴く。

状態は体重や大きさ(身長?)がある。

などでしょうか。

 

いや、うちの猫は泳げる!

いやいや、うちの猫は飛べるから!

など、いろいろあると思いますが、それはまだとどめておいてください。

今は全世界に共通する猫の特徴をクラスに盛り込むだけです。

それもクラスに「もの」を落とし込む一つのコツです。

じゃぁ、うちの猫はどうするんだ?と憤慨する方もいるかもしれませんが、安心してください。

次回になると思いますが、オーバーライド(継承)でお話しますので。

では、以上の情報からクラスを作成していきましょう。

 ちなみに、多少用語が出てきます。今回の記事でも補足していきながら進めていこうと思いますが、一応こちらから確認してください。

 クラスに必要なのが、フィールド(クラスの変数)やメソッド(機能)などですね。

一つ一つステップを踏んでいきましょう。

・身長や体重は小数点まで扱えたほうがよい。

・「鳴け」と指令されたら戻り値、文字型で返ってきたほうがよい

・走ると体重が減ったほうがよい

・食べると体重が増え身長も伸びる。

ということは、

・身長や、体重はdouble型

・鳴くメソッドは戻り値でstring型で返す

・走ると体重のフィールドに一定の体重を足すようにする

・食べると、体重・身長に一定の数値を足せばよい。

ということがわかりますね。

では、以上をまとめて、コードに起こしていきます。

class Cat

{

    //猫の体重を表すフィールド

    public double weight;

    //猫の身長を表すフィールド

    public double height;

    //猫の鳴き声を返すメソッド

    public string mew()

    {

        return("にゃ~");

    }

    //走るメソッド

    public void run()

    {

        //走ると100グラム体重が減る

        weight -= 0.1;

    }

    //食べるメソッド

    public void eat()

    {

        //食べると体重が100グラム増える

        weight += 0.1;

    }

}

ドンっ(壁ドンじゃない)

こうなりますね。

ちょっと補足解説をしましょうか。

クラスを作る時は、class クラスの名前 と書きます。

あとは上のように書いてしまえば、クラスの完成です。

 

あとはこれからオブジェクトを作成します。

Cat Tama = new Cat();

 猫というひな形から、Tamaちゃんが誕生です(祝)

これで、Catクラスを扱えるようになりました。

 

でも、まだクラスは奥深いんです。

続き(前記事)クラスメンバを隠ぺい、公開する。ボリュームあります。 

 

とりあえずここまでできたら一休みしましょう。

ではでは~