継承とポリモーフィズム
クラスの継承とメソッドのオーバーライドによってRubyでコードを再利用する方法を学びます
「継承とポリモーフィズム」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。
Rubyのクラスの拡張
継承とポリモーフィズム
継承を使用すると、あるクラスの振る舞いを別のクラスに継承させることができます。
ポリモーフィズムを使用すると、異なるクラスが同じメソッドにそれぞれ異なる方法で応答できます。
このレッスンでは、Rubyで継承とポリモーフィズムを使用する方法を学びます。

継承の使用
継承の使用
サブクラスは<を使用して、スーパークラスの振る舞いを継承します。
class Animal
def speak
puts 'Animal makes a sound'
end
end
class Dog < Animal
end
dog = Dog.new
dog.speaksuperの使用
superの使用
superキーワードは、スーパークラスのメソッドを呼び出します。
class Animal
def speak
puts 'Animal makes a sound'
end
end
class Dog < Animal
def speak
super
puts 'Dog barks'
end
end
dog = Dog.new
dog.speakメソッドのオーバーライド
メソッドのオーバーライド
サブクラスは、スーパークラスのメソッドをオーバーライドできます。
class Animal
def speak
puts 'Animal makes a sound'
end
end
class Dog < Animal
def speak
puts 'Dog barks'
end
end
dog = Dog.new
dog.speakポリモーフィズムの理解
ポリモーフィズムの理解
異なるクラスで、同じメソッドを異なる方法で実装できます。
class Animal
def speak
puts 'Animal makes a sound'
end
end
class Dog < Animal
def speak
puts 'Dog barks'
end
end
class Cat < Animal
def speak
puts 'Cat meows'
end
end
dog = Dog.new
dog.speak
cat = Cat.new
cat.speakスーパークラスのメソッドの維持
スーパークラスのメソッドの維持
サブクラスは、メソッドを完全に置き換えるのではなく拡張できます。
class Animal
def speak
puts 'Animal sound'
end
end
class Bird < Animal
def speak
super
puts 'Bird chirps'
end
end
bird = Bird.new
bird.speakオープンクラスによるメソッドの拡張
オープンクラスによるメソッドの拡張
Rubyでは、クラスを再オープンして、そのメソッドを動的に変更できます。
class String
def shout
self.upcase + '!!!'
end
end
puts 'hello'.shoutオーバーライドの総合例
オーバーライドの総合例
メソッドをオーバーライドして、サブクラス固有の振る舞いを定義します。
class Vehicle
def move
puts 'Vehicle is moving'
end
end
class Car < Vehicle
def move
puts 'Car is driving'
end
end
car = Car.new
car.moveおめでとうございます
おめでとうございます
Rubyで継承とポリモーフィズムを使用する方法を学びました。
次は、ミックスインとモジュールについて学びます。

よくある質問
「継承とポリモーフィズム」レッスンは無料ですか?
はい。「継承とポリモーフィズム」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。
「継承とポリモーフィズム」で何を学びますか?
クラスの継承とメソッドのオーバーライドによってRubyでコードを再利用する方法を学びます ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ruby Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「継承とポリモーフィズム」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このRuby Academyレッスンでコードを書いて実行できますか?
はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラスとオブジェクト
- インスタンス変数とメソッド
- 継承とポリモーフィズム
- ミックスインとモジュール