Classes, Sobrecarga Classes, Sobrecarga

🥇 Classes, Sobrecarga

Una clase que extiende a tra puede reescribir sus propiedades. Si deseamos acceder a los elementos de una clase padre, cuyo clase hijo ha sobreescrito sus propiedades, podemos utilizar la sentencia super para acceder a ellos.

TypeScript fuera a una clase derivada a tener siempre un subtipo de la clase base.

class Padre {
  saludar() {
    console.log("Hola");
  }
}

class Hijo extends Padre {
  saludar(nombre?: string) {
    if (!!nombre) {
      console.log(`Hola ${nombre}`);
    } else {
      super.saludar();
    }
  }
}

const hijo = new Hijo();
hijo.saludar();
hijo.saludar("Luis");

Salida…

Hola
Hola Luis

Es importante que una clase drivada siga las bases de la clase padre (o clase contrato). Recuerda que es muy común que se haga una referencia a una instancia de la clase derivada a través de una clase base.

const h : Padre = new Hijo();

Es importante seguir las indicaciones del contrato, si cambiamos la definición de alguno de los métodos heredados, de forma que se vuelven incompatibles, el compilador de TypeScript generará un error.

Classes, extends (extender clases) Classes, Orden de inicialización de las clases
comments powered by Disqus