JavaScript - Pertenencia entre clases

 
Vista:
Imágen de perfil de Álvaro
Val: 11
Ha aumentado su posición en 10 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pertenencia entre clases

Publicado por Álvaro (4 intervenciones) el 15/11/2019 11:33:16
Buenos días / tardes / noches. Estoy realizando un pequeño ejercicio de JavaScript donde utilizo objetos (con sus respectivas clases). Y realizándolo me ha surgido la necesidad de instanciar un objeto de otra clase. Cabe destacar que ambas clases las tengo en script distintos, por lo que no sabría como instanciar dicho objeto.

1
2
3
4
5
6
7
8
9
class Personal {
 
    constructor(nombre, apellidos){
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.especialidad = new Especialidad();
    }
 
}

Con un ejemplo.. Tengo la clase Personal, cuyos atributos serían nombre, apellidos y especialidad, pero este último sería un objeto de otra clase. Simplemente quería aplicar pertenencia en este ejercicio, pero si habría otro modo de hacerlo estaría agradecido. Espero haberme explicado correctamente.

Muchas gracias, y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pertenencia entre clases

Publicado por joel (895 intervenciones) el 16/11/2019 08:52:13
Hola Alvaro con new NombreClase(); instancias cualquier otra clase...

Sobre el tema de los archivos, en tu pagina html, tienes que haber cargado los dos archivos js... algo así:
1
2
<script type="text/javascript" src="/js/clase1.js"></script>
<script type="text/javascript" src="/js/clase2.js"></script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Álvaro
Val: 11
Ha aumentado su posición en 10 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pertenencia entre clases

Publicado por Álvaro (4 intervenciones) el 16/11/2019 14:18:12
Muchas gracias por tu respuesta Joel. Como bien dices, llamo a la clase Especialidad instanciándola desde el constructor de la clase Personal:


Anotacion-2019-11-16-131030

E incluyo ambos script en el HTML donde tengo el formulario:


Anotacion-2019-11-16-1312

Sin embargo, me aparece el siguiente error:


error

Y he llamado a las clases con new Especialidad(), como has dicho, pero no encuentro la razón del por qué no me funciona

Muchas gracias de antemano


EDIT:

He conseguido mostrar los atributos propios de la clase Personal, pero al mostrar especialidad (el cual es un objeto), me aparece [object Object]

edit



2º EDIT:

He conseguido mostrar todos los datos


solucion

La manera en la que lo he hecho es un tanto rara, sinceramente no logro comprender del todo.

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
30
class Personal {
    constructor() {
 
        this._nombre = document.getElementById("nombreMedico").value;
        this._apellidos = document.getElementById("apellidosMedico").value;
        this._especialidad = new Especialidad(document.getElementById("especialidadMedico").value);
 
    }
 
 
    get nombre() {
        return this._nombre;
    }
 
    get apellidos() {
        return this._apellidos;
    }
 
    get especialidad() {
        return this._especialidad;
    }
}
 
function mostrarDatos() {
    let medico = new Personal();
 
    document.getElementById("resultado").innerHTML = "Nombre: " + medico.nombre + "" +
        "<br>Apellidos: " + medico.apellidos +
        "<br>Especialidad: " + medico.especialidad._especialidad;
}

Es en la función mostrar datos donde consigo mostrar la especialidad, me funciona, pero me deja un sabor de boca agridulce ya que no lo consigo comprender del todo. Supongo que siendo un novato en JavaScript no puedo evitar probar cosas al azar.

Muchas gracias Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pertenencia entre clases

Publicado por joel (895 intervenciones) el 16/11/2019 20:33:58
Hola Alvaro, pero fíjate en el error... en la linea 3... esa linea es erronea!!! exactamente que quieres hacer ahí?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Álvaro
Val: 11
Ha aumentado su posición en 10 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pertenencia entre clases

Publicado por Álvaro (2 intervenciones) el 17/11/2019 00:55:35
Buenas Joel, discúlpame, se me olvidó adjuntar la foto donde "soluciono" dicho fallo


especialidad

Así quedó tras el cambio. Y dicho parámetro es lo que le paso en el constructor de la clase Personal


constructor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar