Output Diary

プログラミング × 読書 のアウトプットを発信しています

【Ruby】継承とは

 

 

 
継承のイメージとしては、
一つのクラスを起点として、それらを引き継いで具体的なクラスを作っていくというイメージです

f:id:kina_kq:20210313063134p:plain



下に進めば進むほど、
具体的になるといった感じです。
ちなみに動物の中で犬が1番好きです(どうでも良い情報)。
 
 
機能を継承する元となるクラスのことを、
「親クラス」あるいはスーパークラスと呼びます。
 
親クラスからみて自分を継承しているクラスのことを、
「子クラス」あるいは「サブクラス」と呼びます。
 
 
 
 
 
親クラスが持つメソッドの処理を、小クラスに書かれた処理で上書きすることを、
「オーバーライド」と呼びます。
 
小クラスのメソッドの中で、親クラスの同名のメソッドを呼びたいときは、
「super」で呼び出すことが出来ます。
 
 
 
 

モジュール

 
またまたモジュールについてです。
何回モジュールについて出してくるねんって気づいた方は私のファンですね。
 
 
モジュールとは、
一連の振る舞いの設計図を一箇所にまとめたものになります。
 
クラスと同じようにインスタンスメソッドを定義することが出来ます。
 
module Chatting
def chat
"にゃー"
end
end
 
モジュールはオブジェクトを生成は出来ません。
newを使ってオブジェクトと作ろうとすると⚠エラーが出ます😢
 
 
 
ではでは、モジュールでナニが出来るのか!?
 

 
 
モジュールは、メソッド郡を一気にまとめて取り組むことが出来る、
 
「includeメソッド」という必殺技を持っています。
 
 
class Cat
include Chatting
end
 
これで、CatクラスにChattingモジュールが取り込まれ、
"にゃー"と喋ってくれるようになります😺
 
 
モジュールは、
「部分的な設計書」といったものです。
 
クラスという「設計書」に、
共通の「部分的な設計書」を取り込むことで、
複数の似たクラスを簡単につくることが出来ます。
 
 

 

 

ちなみに飼っている犬の名前は「小太郎」です。
 
 
 
 
というところで、今日は以上になります。
毎日更新を意識していましたが、体調不良により途切れてしまいました(泣)
肉の生焼けにはみなさんご注意を(泣)
食中毒の恐ろしさを実感しました。
意識とびますよー!
 
 
 
それではまた明日ー