In Ruby, inheritance describes the relation between classes.
Inheritance is expressed when the
< is used to connect the parent class,
Animal, with the child class,
class Animaldef initialize(species)@species = speciesenddef species@speciesendendclass Dog < Animaldef initialize(species, name)super(species)@name = nameendendsnoop = Dog.new("Long-Beach Labrador", "Calvin")puts snoop.species # Output: Long-Beach Labrador
Dog class inherits all the methods from its parent
Animal class, including
An inheriting child class can override methods defined in its parent and replace with code specific to it:
class Animaldef initialize(species)@species = speciesenddef species@speciesenddef make_sound"The animal made a sound that was hard to tell."endendclass Dog < Animaldef initialize(species, name)super(species)@name = nameenddef name@nameenddef make_sound"Bark!"endendsnoop = Dog.new("Long-Beach Labrador", "Calvin")puts snoop.make_sound # Output: Bark!
.make_sound method from
Animal was overridden in
Dog with a return string specific to that class.
Interested in helping build Docs? Read the Contribution Guide or share your thoughts in this feedback form.
Learn Ruby on Codecademy
Front-End EngineerFront-end engineers work closely with designers to make websites beautiful, functional, and fast.
Includes 34 Courses
With Professional Certification