ファイル
→新規
→javaプロジェクト
→名前:part2-12
Hero,Matangoをコピー
p464
p468
打ち込み
suffix
>サフィックス(英:suffix)とは
その単語なり何なりの後ろ(お尻)にくっつく文字のことです。日本語では「接尾辞」と言います。
そいつの後ろ(お尻)にくっつく文字列が「サフィックス」です。
スライムAがあらわれた!
スライムBがあらわれた!
というあれです。
最初HeroとMatangoがデフォルトパッケージではなくその上の階層にコピーされてしまっていた
→
普通に2ファイルを選択しドラッグすればOK
エクスプローラーのように扱えばよろしい
--->Main466.java
public class Main466 {
public static void main(String[] args) {
Dancer d = new Dancer();
d.name="あさか";
d.dance();
Matango m = new Matango();
m.suffix = 'a';
d.attack(m);
}
}
--->Character.java
public abstract class Character {
String name;
int hp;
public void run() {
System.out.println(this.name+"は逃げ出した");
}
public abstract void attack(Matango m) ;//abstractを書くときは{でなく;
}
--->Dancer.java
public class Dancer extends Character{
public void dance() {
System.out.println(this.name+"は踊った");
}
public void attack(Matango m) {
System.out.println(this.name+"の攻撃");
System.out.println("敵に3pのダメージ");
m.hp-=3;
}
}
Hero,Matangoは前の章からコピー
抽象メソッドのあなうめは子クラスじゃなく孫、ひ孫でもよろしい。
どの子孫で埋めてもよいが、とにかくあいまいなabstractが全部埋まるまで、newできない
インターフェース:
抽象クラスのひとつ。
中身が抽象メソッドだけになったやつのことを、そう呼びならわす
基本的にフィールド記述はない(例外はpublic static final)
p475 12-11 12 13
--->Creature.java
public abstract class Creature {
public abstract void run();
}
↓
public interface Creature {
public abstract void run();
}
↓
public interface Creature {
void run();
}