栗悟飯とカメハメ波

秋葉系ニートブログ。

【Javaメモ】オブジェクト指向に基づいてインスタンスとクラスを作る

こんちゃ、Roaでし。

今回は前回のオブジェクト指向に続いてインスタンスとクラスを作っていきたいと思います。
まずは簡単にインスタンスとクラスの説明を。


クラス:設計図のような存在。インスタンスを生み出す金型。
インスタンス:クラスから生まれた仮想世界で実際に動くもの。


お菓子を作る時に星や小鳥の形で焼きたいと思ったときに金型を使いますがクラスはそれと同じです。
金型から生み出された星型や小鳥型のお菓子はインスタンスに当たります。


で、インスタンスを作ってもそれに命令を送らなければ何もしてくれないので命令をこちらから下す必要が出てきます。
その命令を書く時にMainメソッドに書くことになります。


なお、クラスはフィールドにそのクラスが持っている属性(hpとか攻撃力とか名前)を書く必要があり、これがないとそのクラスからインスタンスを作成したときに正体が見えず、何を持っているのかが不明となります。


操作(行動、動作)もクラスにしっかりと書きます。
これがないとMainメソッドで命令を下す時に行動が書かれていないので何も呼び出せず、その結果として命令ができません。


以下、基本的な文法です。

(変数名は任意の文字でok)

  • フィールドへ値を代入する:変数名.フィールド名 = 値;

thisという表記も出てきますがこれは自分自身を表しているだけの意味です。


以下、RPG風のコードを書いていきます。

Mad_scientist.java

public class Mad_scientist {
  //フィールドに属性を記載
  String name;
  int hp;
  
  //操作を記載
  public void sit(int sec) {
    this.hp+=sec;
    System.out.println(this.name+"は"+sec+"秒座った");
    System.out.println("HPが"+sec+"ポイント回復した!");
  }
  public void slip() {
    this.hp-=5;
    System.out.println(this.name+"は転んだ");
    System.out.println("5のダメージ");
  }
  public void run() {
    System.out.println(this.name+"は逃げ出した!");
  }
}


キャラクターの設定が終わったので次はMainにてそのキャラクターへ命令していきます。

Main.java

public class Main {
  public static main void(String[] args) {
    //科学者を誕生させる
    Mad_scientist o=new Mad_scientist();
    //フィールド初期値セット
    o.name="オカリン"
    o.hp=100;
    //オカリンのメソッドを呼び出す
    o.sit(5);
    o.slip();
    o.run();
  }
}


気になる方はそのままこのコードをIDEなどへコピペして確認してみて下さい。

では今回はここらへんで。