JavaScript: Herencia de Clases
Introducción a la Herencia de Clases en JavaScript
La herencia de clases es un concepto fundamental en la programación orientada a objetos que permite que una clase herede propiedades y métodos de otra clase. En JavaScript, la herencia de clases se implementa utilizando la palabra clave extends, lo que proporciona una forma de crear una clase derivada que hereda de una clase base.
Para más información sobre la sintaxis básica, consulta JavaScript: Clases y Sintaxis Básica.
Creación de una Clase Derivada
Para crear una clase que herede de otra, utilizamos la palabra clave extends:
En este ejemplo, Circle extiende Shape, lo que significa que hereda las propiedades y métodos de Shape, y al mismo tiempo proporciona sus propios métodos. Ten en cuenta que Circle no define su propio constructor. En JavaScript, las clases derivadas sin un constructor explícito llaman automáticamente a super() con los mismos argumentos pasados al constructor de la clase derivada.
Sobrescritura de Métodos
Las clases derivadas pueden sobrescribir los métodos de sus clases base para proporcionar un comportamiento específico de la subclase.
Aquí, Circle sobrescribe el método print para reflejar su tipo específico.
Llamada a Métodos de la Clase Padre con super
También puedes llamar a un método de la clase padre desde dentro de la clase derivada utilizando super.methodName(). Esto es útil cuando deseas extender el comportamiento del padre en lugar de reemplazarlo por completo.
Aquí, super.print() ejecuta la lógica del padre antes de agregar la salida específica de la subclase.
Acceso al Constructor Padre: Palabra Clave super
Cuando una clase extiende a otra, la función constructora de la clase derivada necesita llamar al constructor del padre usando super() antes de poder usar this. Así es como se utiliza super en los constructores para garantizar que la clase padre se inicialice:
Resumen
La herencia de clases en JavaScript es una característica poderosa que permite crear un modelo de objetos más manejable y jerárquico. Al comprender y utilizar la herencia de manera efectiva, puedes escribir código JavaScript más organizado y modular. La herencia no solo fomenta la reutilización de código, sino que también ayuda a crear una relación intuitiva entre los componentes de tu aplicación.
Práctica
En la herencia de clases de JavaScript, ¿cuáles de las siguientes afirmaciones son verdaderas?