0Pricing
Ruby Academy · レッスン

継承とポリモーフィズム

クラスの継承とメソッドのオーバーライドによってRubyでコードを再利用する方法を学びます

「継承とポリモーフィズム」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。

Rubyのクラスの拡張

継承とポリモーフィズム

継承を使用すると、あるクラスの振る舞いを別のクラスに継承させることができます。

ポリモーフィズムを使用すると、異なるクラスが同じメソッドにそれぞれ異なる方法で応答できます。

このレッスンでは、Rubyで継承とポリモーフィズムを使用する方法を学びます。

継承とポリモーフィズム — イラスト1

継承の使用

継承の使用

サブクラスは<を使用して、スーパークラスの振る舞いを継承します。

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
end

dog = Dog.new
dog.speak

superの使用

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で継承とポリモーフィズムを使用する方法を学びました。

次は、ミックスインとモジュールについて学びます。

継承とポリモーフィズム — イラスト10

よくある質問

「継承とポリモーフィズム」レッスンは無料ですか?

はい。「継承とポリモーフィズム」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラスとオブジェクト
  2. インスタンス変数とメソッド
  3. 継承とポリモーフィズム
  4. ミックスインとモジュール
← Ruby Academyに戻る