こんにちは、kazuです。
今回はjavaの継承について
解説していきたいと思います。
継承とは何か?
最初に継承とは何かということについてです。
継承とは今あるクラスに追加の機能として新たなクラスを作成することをいいます。
少しわかりずらいですね
別で例えるとGameクラスがあったとします
Gameクラスでは
コントローラー
モニター
ソフト
とあるとします
そしてそのGameクラスを継承してGenreクラスを作るとします
そのGenreクラスの中身を
アクション
RPG
恋愛
とします
そしてGameクラスにはアクション、RPG、恋愛を
作る必要がなくもし呼び出したい時はGenreクラスを
呼び出すことができます。
この仕組みを継承といいます。
スーパークラスとサブクラス
継承にはスーパークラスとサブクラスに分けることが出来ます。
では実際に何がGameクラスで何がサブクラスか
先程のGameクラスとGenreクラスをもとに解説していきます。
スーパークラスとはもとになる既存のクラスのことをGameクラスと
言います。
いきなりですが問題です。
GameクラスかGenreクラスどちらだと思いますか?
そうですGameクラスです。
そしてサブクラスは新しく作られたクラスのことをサブクラスといいます。
メインクラス(スーパークラス)のGameクラスがあり新たにサブクラスのGenreクラスがあります
継承の書きかた
次は継承の書き方を解説していきます
プログラムなのですから当然「継承」の書き方があります
それを見てみましょう!
// スーパークラス
class Game
{
// 処理を書く
}
// ここからがサブクラス extends を使用する
class Gemre extends Game
{
// 処理を書く
}
上のコードを見てみてくださいスーパークラスは
特に何もすることはなくclass class名 で書きます。
継承を書く際はサブクラスを変える必要があります。
classに extends を使用します
具体的な解説としては
class サブクラス名 extends スーパークラス名
です。
次は実際に活用したものを紹介します!
継承を見てみよう
class Car
{
private int num;
private double gas;
public Car()
{
num = 0;
gas = 0.0;
System.out.println("車の設定をしました!");
}
public void show()
{
System.out.println("ナンバーを" + num + "です!");
System.out.println("ガソリン量を" + gas + "です!");
}
}
// サブクラス
class Course extends Car
{
private int course;
public Course()
{
course = 0;
System.out.println("車の設定が作成されました");
}
public void setCourse(int c)
{
course = c;
System.out.println("コース番号を" + course + "にしました。");
}
}
class CarConfig
{
public static void main(String[] args)
{
Course rccar1;
rccar1 = new Course();
rccar1.setCar(1234,10.5);
rccar1.setCourse(5);
}
}
// 実行結果
車の設定をしました!
車の設定が作成されました
ナンバーを1234です!
ガソリン量を10.5です!
コース番号を5にしました。
少しはイメージがわいてきたのではないでしょうか?
最後に
いかがでしたでしょうか?
今回は継承を解説しましたが、
少し難しかったかもしれません
ただ継承という言葉はたびたび出てきますので、
覚えていて損はないでしょう。
最後までご覧いただきありがとうございました。
こんにちは、kazuです。 本日はオーバーライドについて 解説していきます。 オーバーライドとは オーバーライドとは、クラスを継承した時に継承元になっているスーパークラス(親クラス)で定義されているメソッドを、継承したサブクラス(子[…]
こんにちは、kazuです。 本日はカプセル化について 解説していきたいと思います。 カプセル化とは何か まずカプセル化とはなにかわかりますか? カプセル化とはクラスの中にフィールドとメソッドをひとまとめにして、 保護したいメンバ[…]