ec6 uso de clases extends
Publicado por Luis Fabres (1 intervención) el 05/03/2017 16:14:59
Hla. tengo una clase base (persona, que implementa algunos metodos y en su constructor acepta parametros.
es la siguiente
aparte tengo otra clase (trabajador) que hereda de persona
cuando creo una nueva instancia de persona, lo hace sin problemas
pero cuando intento instanciar la clase trabajador:
me entrega el siguiente errro
Uncaught ReferenceError: this is not defined
at Trabajador (Ejercicio 1.js:47)
at Ejercicio 1.js:75
que es en la siguiente linea de la clase trabajador
this.nombreEmpresa = nombreEmpresa;
que estoy haciendo mal??
Saludos y gracias
es la siguiente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Persona
{
constructor (nombre, apellido)
{
this.nombre = nombre;
this.apellido = apellido;
}
muestraNombre()
{
return this.nombre;
}
cambiaNombre(nuevoNombre)
{
this.nombre = nuevoNombre;
}
muestraApellido()
{
return this.apellido;
}
cambiaApellido(nuevoApellido)
{
this.apellido = nuevoApellido;
}
}
aparte tengo otra clase (trabajador) que hereda de persona
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Trabajador extends Persona
{
constructor(nombre, apellido, nombreEmpresa, direccionEmpresa)
{
this.nombre = nombre;
this.apellido = apellido;
this.nombreEmpresa = nombreEmpresa;
this.direccionEmpresa = direccionEmpresa;
}
muestraNombreEmpresa()
{
return this.nombreEmpresa;
}
cambiaNombreEmpresa(nuevoNombreEmpresa)
{
this.nombreEmpresa = nuevoNombreEmpresa;
}
muestraDireccionEmpresa()
{
return this.direccionEmpresa;
}
cambiaDireccionEmpresa(nuevoDireccionEmpresa)
{
this.direccionEmpresa = nuevoDireccionEmpresa;
}
}
1
var perso = new Persona("pedro", "perez");
pero cuando intento instanciar la clase trabajador:
1
var traba = new Trabajador("Juan", "Perez", "Mi Empresita", "Aqui Mismito");
me entrega el siguiente errro
Uncaught ReferenceError: this is not defined
at Trabajador (Ejercicio 1.js:47)
at Ejercicio 1.js:75
que es en la siguiente linea de la clase trabajador
this.nombreEmpresa = nombreEmpresa;
que estoy haciendo mal??
Saludos y gracias
Valora esta pregunta
0