A subclass can reuse behavior defined by a parent class.

Inheritance Basics

inheritance_basics.rb
class Animal
  def initialize(name)
    @name = name
  end

  def label
    "animal #{@name}"
  end
end

class Dog < Animal
end

name = 
dog = Dog.new(name)

puts dog.label
class Animal
  def initialize(name)
    @name = name
  end

  def label
    "animal #{@name}"
  end
end

class Dog < Animal
end

name = 
dog = Dog.new(name)

puts dog.label
class Animal
  def initialize(name)
    @name = name
  end

  def label
    "animal #{@name}"
  end
end

class Dog < Animal
end

name = 
dog = Dog.new(name)

puts dog.label
inheritance Inheritance lets one class receive methods from another class.