##クラスの継承
あるクラスに定義されたメソッドを、別の新規クラスで利用できるようにしたクラスを定義することを継承と言います。
クラスの継承には、親クラスと子クラスの関係があり、元となるクラスを親クラス、親クラスのメソッドを引き継ぎ新しく作成するクラスを子クラスです。
例えば「車」の親クラスを作り、子クラスに「消防車」と「トラック」を作ったとします。
まず「車」の動作には加速や減速などがあります。「消防車」は、「トラック」はその特徴を継承することで「消防車」と「トラック」には加速や減速などを記述する必要がなくなります。なので例えば「消防車」はサイレント、「トラック」は荷物が積めるのみ記述するだけで澄みます。
【例】クラスの継承
class 子クラス名 < 親クラス名
end
Carクラス(親クラス)
class Car
def speed_up
puts "加速"
end
def speed_down
puts "減速"
end
end
親クラスには、共通の動作を定義します。
Firetruckクラス(子クラス)
class PatrolCar < Car # クラスの継承
def siren
puts "ウゥーウゥー"
end
end
TruckCarクラス(子クラス)
class TruckCar < Car # クラスの継承
def carry
puts "荷物を載せる"
end
end
子クラスは親クラスを継承して作られ、子クラスの中にはそれぞれの特徴となる動作が定義されています。
継承のメリットコードがすっきりするのと、編集するところが共通部分だったときは全クラスじゃなく、親クラスだけで書き換えが済むことです。