1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

継承について

Posted at

##継承の目的
以前使用したクラスを似たクラスを作成したいときに効率よく新たなクラスを作成する。
##サンプルプログラム
public class Hero {
String name = "ミナト";
int hp = 100;
//戦う
public void attack(Matango m) {
System.out.println(this.name + "の攻撃");
m.hp -= 5;
System.out.println("5ポイントのダメージを与えた!");
}
//逃げる
public void run() {
System.out.println(this.name + "は逃げ出した!");
}
}
##継承を行う
上記のプログラムはヒーローの行動を表すプログラムである。
攻撃と逃げる動作がある。
このヒーローを次の機能を持ったスーパーヒーローに進化させたい。
1,fly()で飛ぶことができ、land()で着地することができる。
2,ヒーローのできることがスーパーヒーローもできる。
ここで活躍するのが継承の考え方である。
##サンプルプログラム
public class SuperHero extends Hero {
boolean flying;
public void fly() {
this.flying = true;
System.out.println("飛び上がった!");
}
public void land() {
this.flying = false;
System.out.ptrintln("着地した!");
}
}
##継承の説明
上記のプログラムのポイントは1行目のpublic class SuperHero extends Heroである。
これにより、Heroのクラスを継承し、Heroと同じメンバの定義を省略することができる。
このSuperHeroクラスがインスタンス化される際には、SuperHeroクラスがHeroクラスに含まれている、name,hp,attack(),run()も持っていると判断してくれる。
##終わり
継承の簡単な使い方はここまで

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?