クラスの詳細 つづき |
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
継承はクラスの内容を
別のクラスに引き継ぐ
機能だ。
この機能を使うことで
すでに作ってあるクラスを
元にして、新しいクラスを
作ることが出来るんだ。
|
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
インヘリタンス
とも言うよ。
英語で
「相続」の意味ね。 |
|
そんなことが
できるんだ。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
すごい!
前に作った設計図を元に
新しい設計図を作れるんだ。
最初から作らないで
いいからすごい便利だね! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
セッションでは
基本的に
親と子かな。
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
元になるクラスを
親クラス。
継承するクラスを
子クラスと言うよ。
他にもいろいろな呼び方が
ある。
呼び方が違うだけだけど
どれもよく使うから覚えて
おいてね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
覚えなきゃ。 |
|
|
|
 |
|
 |
|
|
クラスの継承:クラスのいろいろな呼び方 |
|
元になるクラス |
継承するクラス |
親クラス |
子クラス |
基本クラス |
派生クラス |
スーパークラス |
サブクラス |
その他にも、
ベースクラス、
基底クラス、など |
その他にも、
継承クラス、など |
|
|
表の行が対の呼び方になっています |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今回はクラスの作り方を
「一般的な」自動車を例に見てきた。
アクセルやブレーキ・・・
これは、どの自動車にも
共通の基本機能を持った車と言える。
でも、自動車は
セダン、ワゴン、ワンボックス、トラック
スポーツカー・・・
実際は、いろいろな種類があるよな。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
今まで作って
きたのは
「総称」の車
だったの。 |
 |
|
 |
そっか、
「一般的な」
自動車なんて
車ないもんね。 |
|
|
同じ部分を
何回も
作らないで
すむから
効率的でしょ。
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
これを自動車の種類ごとに
0から設計してたら大変だ。
どの自動車も
同じ自動車なんだから
基本的な機能は同じ。
だったら、既に作ってある
基本機能を持った自動車の
設計図を元にして、
新しい自動車の設計図を
作ったらいい。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
なるほど、
新しい部分だけ追加
するんだ!
共通の部分の設計図は
もうできてるからね。
|
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
オブジェクト指向の
真骨頂って感じ。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
そこで「継承」の出番だ。
継承を使うことで
親クラスから子クラスへ
設計を引き継ぐことが
できるんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
共通の部分の
設計図をベースにして・・・
コンテナの部分を
追加するだけでトラックの
設計図が作れるんだ!
親から子供に
内容を引き継げるんだね! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
一般的な自動車が
ベースになるんだ。
すごいね、すごいね! |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
プログラミングでは
この作り方を、
「差分」だけを追加して
作るところから、
差分プログラミング
と言うよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
共通部分との
差分だけで
新しいクラスが
作れるからなん
だね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
名前だけ
覚えといて。 |
 |
|
 |
はいっ。 |
|
|