Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Herencia

9/25
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Para que otras clases herenden los atributos de un constructor principal esta debe la palabra reservada extends

Les comparto mis apuntes. 😄

¿Qué es?

Como su palabra lo dice, las propiedades y métodos de una clase son heredadas por otra para evitar la redundancia de código en nuestro proyector.

Sintaxis

class FatherClass {
	constructor (properties) {
		statemenst
	}

	MethodsFather () { ... }
}

class ChildClass extends FatherClass {
		constructor (properties) {
			super(properties)
			statemenst
		}

		MethodsChild () { ... }
}

Super

Es una palabra reservada para llamar las propiedades y métodos de la clase padre.

// llama al método constructor del objeto padre.
super([arguments]);

// llama cualquier otro método del objeto padre.
super.functionOnParent([arguments]);

Al usar esta palabra reservada en el constructor de la clase hija, estamos invocando al constructor de la clase padre.

Más información.

Código de la clase

export class Animal {
    constructor(public name: string) {}

    move() {
        console.log("Moving along!");
    }

    gretting() {
        return `Hello, I'm ${this.name}`;
    }
}

export class Dog extends Animal {
    constructor(public owener: string, name: string) {
        super(name);
    }

    woof(times: number): void {
        for (let i = 0; i < times; i++) {
            console.log("Woof!");
        }
    }
}

const fifi = new Animal("Fifi");
fifi.move();
console.log(fifi.gretting());

const cheis = new Dog("Cheis", "Galeed");
cheis.move();
console.log(cheis.gretting());
cheis.woof(5);