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
Dog < Animalheredainitializey todo lo demás.- La subclase sobrescribe
speakcon su propia versión. superllama al método del padre y construye sobre su resultado.
Palabras clave y builtins usados aquí
classdefendnameputssuper
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.
Paso 2 de 3 en Clases y módulos; paso 20 de 29 en Fundamentos del lenguaje.