[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

継承

pointこの用語のポイント

point親要素の特徴を受け継ぐよ

pointオブジェクト指向の話で、よく出てくるよ

スポンサーリンク

簡単に書くよ

継承とは

他人の褌で相撲を取ることで自分自身を簡略化すること。
真面目に説明すると

親要素の特徴を受け継ぐこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

オブジェクト指向は「『モノ』に注目した考え方」ね。
「どんな奴で、どう動く」に注目した考え方です。

継承

オブジェクト指向は、それをテーマにして本を一冊書けるくらい、ふんわりとして捉えどころのないやつです。
具体的なことが知りたい人は他のところで勉強してください。

それを踏まえて、オブジェクト指向の話でよく出てくる用語で「元となるやつから要素を受け継いで、元となるやつの特徴を備えた新しいやつを作る」のが「継承」です。

例えば、ここにピヨ太ママがいたとしましょう。

継承2

ピヨ太ママの要素を受け継いだピヨ太君を新しく作りました。
ピヨ太君には、ピヨ太ママの特徴が、色濃く受け継がれています。

継承3

これが継承です。
元となるやつ(ピヨ太ママ)から要素を受け継いで、元となるやつの特徴を備えた新しいやつ(ピヨ太君)を作っています。

なお、このときのピヨ太ママとピヨ太君は親子関係にあると言います。

継承4

ピヨ太ママはピヨ太君の「」です。

継承5

ピヨ太君はピヨ太ママの「」になります。

継承6

以上でざっくりとした説明は終わりですが、せっかくなので、もう少しプログラミングちっくな説明も載せておきましょう。

例えば、Javaで書いた以下のソースコードがあったとします。

//ピヨ太ママクラス
class PiyotaMama{
  public String seikaku="キレたら怖い";
}

//ピヨ太君クラス
class Piyota extends PiyotaMama{
  public String syumi="昼寝";
}

//主処理
public class test{
  public static void main(String[] args){
    //太君クラスのインスタンス「piyota」を生成
    Piyota piyota = new Piyota();

    //表示
    System.out.println("ピヨ太君の性格:" + piyota.seikaku);
    System.out.println("ピヨ太君の趣味:" + piyota.syumi);
  }
}


このソースコード内の

//ピヨ太ママクラス
class PiyotaMama{
  public String seikaku="キレたら怖い";
}

//ピヨ太君クラス
class Piyota extends PiyotaMama{
  public String syumi="昼寝";
}


が継承しているところです。

class Piyota extends PiyotaMama{



「PiyotaMama」を継承(extends)した「Piyota」

を意味しています。

このような状況を指して

「PiyotaMama」を継承した「Piyota」を作った



「Piyota」は「PiyotaMama」を継承している

などと表現します。

    //表示
    System.out.println("ピヨ太君の性格:" + piyota.seikaku);
    System.out.println("ピヨ太君の趣味:" + piyota.syumi);


の部分は、実際にピヨ太クラス(を実体化したもの)を使っているところです。
ピヨ太クラスには「seikaku」がありません。
ですが、継承元のピヨ太ママクラスに「seikaku」があります。
ピヨ太ママクラスの要素を受け継いでいるピヨ太クラスには、見えないだけで「seikaku」があるのです。

image piyo2

一言でまとめるよ

まぁ「継承」って単語が出てきたら「元ネタがあって、その要素を受け継いでいるんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク