// 1. Creamos nuestra primer clase Espada class Espada { // 1.1 Creamos nuestro constructor de la clase constructor (nombre,durabilidad, rareza, dano){ this.nombre = nombre; this.durabilidad = durabilidad; this.rareza = rareza; this.dano = dano; } ingredientes() { console.log("Ejemplo de ingredientes para: " + this.nombre ) } } // 2. Creamor clase Uso que hereda de primer clase Espada class Uso extends Espada { // 2.1 Creamos el constructor, anexamos ataque y encantamientos constructor (nombre, durabilidad, rareza, dano, ataque, encantamientos){ super(nombre, durabilidad, rareza, dano) super.ingredientes() this.ataque = ataque; this.encantamientos = encantamientos; } // 2.2 Metodo reducirDurabilidad(){ console.log("Durabilidad reducida") } } let usoEspada = new Uso('Espada de diamante', 1562, 'Común', 6000, 6000, 'Aspecto ígneo') console.log("USO ESPADA", usoEspada) usoEspada.reducirDurabilidad()
-
check_circle_outlineMódulo 1 | 9 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 11 clases
Conceptos básicos
expand_more -
check_circle_outlineMódulo 3 | 10 clases
Funciones y el Scope
expand_more -
check_circle_outlineMódulo 4 | 3 clases
Arreglos
expand_more -
check_circle_outlineMódulo 5 | 12 clases
Objetos
expand_more-
done_all
Clase 1
Declarar un objeto con JSON
-
done_all
Clase 2
Funciones constructoras
-
done_all
Clase 3
Clases
-
done_all
Clase 4
Constructor
-
done_all
Clase 5
Herencia
-
done_all
Clase 6
Métodos accesores
-
done_all
Clase 7
Métodos estáticos
-
done_all
Clase 8
Prototipos
-
done_all
Clase 9
__proto__
-
done_all
Clase 10
Herencia de prototipos
-
done_all
Clase 11
La propiedad del prototype
-
done_all
Clase 12
Resumen de unidad- Objetos
-
-
check_circle_outlineMódulo 6 | 7 clases
Programación asíncrona
expand_more -
check_circle_outlineMódulo 7 | 2 clases
Bonus points
expand_more -
check_circle_outlineMódulo 8 | 3 clases
Async/Await
expand_more -
check_circle_outlineMódulo 9 | 5 clases
Módulos
expand_more -
check_circle_outlineMódulo 10 | 10 clases
Generadores e Iteradores
expand_more -
check_circle_outlineMódulo 11 | 10 clases
Cadenas a fondo
expand_more -
check_circle_outlineMódulo 12 | 7 clases
Expresiones regulares
expand_more -
check_circle_outlineMódulo 13.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-
13 comentario(s)
Después de muchos años y malos profesores, al fin entendí cuando mencionaban las herencias de clase padre e hijo.
Buenas! Yo escribí el siguiente código y me funcionó, supongo que es porque hereda la función constructor del padre, no?
class User{
class User{
constructor (nombre = "Vlad"){
this.nombre = nombre;
}
saludar(){
console.log("Hola Usuario "+ this.nombre)
}
}
class Admin extends User{
saludar(){
super.saludar();
console.log("Hola Admin")
console.log("Aquí tienes el panel de control")
}
}
let yoMerengues = new Admin("Vladimir");
yoMerengues.saludar();
Hola, tengo una duda "general" , la comento aca porque no sabria donde hacerlo, vengo entendiendo bien pero aun no puedo idenficar en que casos usara cada cosa, o todavia a pesar de entender no veo como aplicar las cosas estas a una pagina entonces en ese sentido me siento un poco perdido, es normal?
Hola Uriel, tengo un problema. Como practica, cree una clase llamada RedSocial, y otra llamada Facebook que extendía de la misma. El problema es que cuando intento ejecutar un metodo de RedSocial en un objeto creado a partir de la clase Facebook, obtengo un error. Podría decirme qué ocurrió? Gracias!
class RedSocial{ publicar(texto){ console.log(texto) } } class Facebook extends RedSocial{ publicar(){ super.publicar(); } constructor(nombre){ this.socialName = nombre; } } Facebook = new Facebook() Facebook.publicar("Hola, esta es mi primera publicacion usando herencia")
Este es el error: "ReferenceError: Must call super constructor in derived class before accessing 'this' or returning from derived constructor"
y si no lo quiero sobre escribir?, es decir si solo quiero llamar ese metodo desde clase hija y que se ejecute con los metodos que ya posee mi clase hija
No me quedo muy claro el funcionamiento de super. Es solo para llamar a la funcion del padre o para sobreescribir?
En Admin cuando sobreescribiste el método saludar , para que ejecute lo establecido por la clase base escribiste súper.saludar(). Porque es necesario poner saludar si ahí es donde estoy ? O acaso en admin.saludar podría decir súper.otra función de la clase base?
Gracias por aclarar esto
Gracias por aclarar esto