Herencia en Java
Un contrato base, muchos comportamientos, elegidos en tiempo de ejecución.
Animal[] zoo = { new Dog(), new Cat() };
for (var animal : zoo) {
System.out.println(animal.speak());
}
class Animal {
String speak() { return "..."; }
}
class Dog extends Animal {
@Override
String speak() { return "woof, says the dog"; }
}
class Cat extends Animal {
@Override
String speak() { return "meow, says the cat"; }
}
Cómo funciona
extendshereda;@Overridemarca el reemplazo con honestidad.- Un
Animal[]guarda perros y gatos; cada uno habla como sí mismo. - La implementación base rige por defecto cuando nadie la sobrescribe.
Palabras clave y builtins usados aquí
classextendsfornewreturnvar
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 330
- Tokens
- 90
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 60 segundos.
Paso 2 de 4 en Clases y records; paso 19 de 29 en Fundamentos del lenguaje.