typestar

Herencia y super en Ruby

Subclases con < y cómo extender un método del padre con super.

class Animal
  def initialize(name)
    @name = name
  end

  def speak
    "#{@name} makes a sound"
  end
end

class Dog < Animal
  # super llama a la versión del padre de ese mismo método
  def speak
    "#{super}: woof"
  end
end

puts Animal.new("generic").speak
puts Dog.new("rex").speak

Cómo funciona

  1. Dog < Animal hereda initialize y todo lo demás.
  2. La subclase sobrescribe speak con su propia versión.
  3. super llama al método del padre y construye sobre su resultado.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
266
Tokens
58
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 39 segundos.

Escribe este fragmento

Paso 2 de 3 en Clases y módulos; paso 20 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →