27. Herencia

Versión para imprimir.

En esta lección se introduce el concepto de herencia.

A. Constructores

class ClM1 {
 constructor(p) {
  console.log(p)
  this.m = p
 }
}
class ClH1 extends ClM1 {
 constructor(b, c) {
  super(b)
  console.log(c)
  this.h = c
 }
}
const th1 = new ClH1(4, -2)
console.log(th1.m)
console.log(th1.h)
const tm1 = new ClM1(8)
console.log(tm1.m)

Salida

4
-2
4
-2
8
8

Depúralo en JavaScript Tutor.

B. Sobrescritura de métodos

class ClM2 {
 muestra() {
  console.log("Hola.")
 }
}
class ClH2 extends ClM2 {
 /** @override */
 muestra() {
  super.muestra()
  console.log("Consola.")
 }
}
const tm2 = new ClM2()
tm2.muestra()
const th2 = new ClH2()
th2.muestra()

Salida

Hola.
Hola.
Consola.

Depúralo en JavaScript Tutor.

C. Resumen