クラスとインヘリタンス

トリというクラス(オブジェクト)を設け、鳴き声と飛行というメソッドをつくります。

クラスとインヘリタンス

Codeの説明

① スーパークラスBirdを作る(パラメーターはobject-スーパークラス)
② __init__関数(第一パラメーターはself,第2第3パラメーターはname,wingspan)
③ 初期設定の左辺はself.name、self.wingspan、右辺は対応する変数(第1・2param)
④ birdcall関数(メソッド)のparamはself、出力はchirpを表示
⑤ fly関数(メソッド)のparamはself、出力はflapを表示
⑥ サブ・クラスPenguinのパラメーターはBird(サブクラス)
⑦ 関数(メソッド)swim(self)、関数(メソッド)birdcall(self)、関数(メソッド)fly(self)では飛べないとオーバーライド
⑧ サブ・クラスParrotのパラメーターはBird(サブクラス)
⑨ __init__関数(第一パラメーターはself,第2第3第4パラメーターはname,wingspan,color)パラメーターが一つ増えたことで初期設定の__init__でBirdのcolor以外を継承する(インヘリタンス)

トリのクラスを定義してインヘリテンスを知ろう。
またトリというクラス(オブジェクト)を設け、鳴き声と飛行というメソッドをつくります。
このトリにはペンギンとパロットというサブクラス(オリジナルのオブジェクトとは少し違うメソッドや属性をもっています=インスタンスがオリジナル[スーパークラス]とは少し異なる)をつくります。この少し違ったものを作るのにインヘリテンスという概念が重要になります。
ペンギンはトリのクラスに属しますが、違う鳴き声をし、泳ぐという新しいメソッドをもち、飛行メソッドは「飛べない」と出力します(オーバーライドにより書き換えています)。
パロットは色という属性を持ちますが、メソッドはオリジナルのバードと同じ(これを継承[インヘリテンス]とよぶ)のように定義します。

Parrot:オウム、chirp:小鳥のさえずり(ちゅんちゅん)
flap:小鳥がパタパタ、quack:ガアガア

↑人気ブログランキングに参加しています。よろしければ1票を!

投稿者: 管理者

大学で工学部電気工学科演算工学講座で学び卒業論文で「小型コンピューターのオペレーティングシステム(ジョブの連続処理)」を書いた。卒業してコンピューター会社に入社し以来コンピューター一筋SE、SAとして働いた。退職後趣味でWeb開発をしている。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です