La palabra clave extends
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 26 de 56.
La palabra clave extends en JavaScript se utiliza para crear una clase hija que hereda propiedades y métodos de una clase padre.
Primero, vamos a crear una clase padre:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}Ahora, vamos a crear una clase hija que extiende la clase padre:
class Dog extends Animal {
// La clase Dog hereda de Animal
}Este código simple significa que la clase Dog ahora hereda todas las propiedades y métodos de la clase Animal.
Crea una instancia de perro:
const dog = new Dog('Rex');Llamar a un método heredado del padre:
console.log(dog.speak()); // Salida: "Rex makes a noise."La palabra clave extends crea una relación de herencia donde la clase hija (Dog) puede acceder y utilizar toda la funcionalidad definida en la clase padre (Animal).
Desafío
Crea una clase Student que extienda la clase Person usando la palabra clave extends y expórtala.
Hoja de referencia
La palabra clave extends crea una clase hija que hereda propiedades y métodos de una clase padre:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}
class Dog extends Animal {
// Dog hereda de Animal
}
const dog = new Dog('Rex');
console.log(dog.speak()); // Salida: "Rex makes a noise."La clase hija puede acceder a todas las propiedades y métodos de la clase padre.
Pruébalo tú mismo
import { Student } from './classes.js';
// Código de prueba - no modificar
const student = new Student("Emma");
console.log(student.greet()); // Debería mostrar "Hello, I'm Emma"Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso