-
Notifications
You must be signed in to change notification settings - Fork 0
/
clases_y_herencia.js
52 lines (45 loc) · 2 KB
/
clases_y_herencia.js
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* CLASES
Permiten organizar nuestro código, separando las variables y funciones que estén relacionadas */
class User { // Clase
constructor (name, address, years){ // Método con parámetros
this.name = name, // Propiedades
this.address = address,
this.years = years
}
showInfo (){ // Método asociado al objeto
return `
Nombre: ${this.name}
Dirección: ${this.address}
Edad: ${this.years}
`;
}
}
const vanesa = new User("Vanesa", "Mengano, 79", 34); // Instanciar objeto
console.log(vanesa.showInfo());
/* Si queremos acceder a una propiedad los haremos con console.log(vanesa.name), que devolverá "Vanesa"
/* HERENCIA
Permite heredar las propiedades de otras clases.
Por ejemplo, podemos tener la clase «Usuario» de una página, que al mismo tiempo sea alumno de un curso. Compartirá las anteriores propiedades de «Usuario», y además podrá tener propiedades propias de la clase «Alumno» */
class User {
constructor (name, address, years){
this.name = name,
this.address = address,
this.years = years
}
}
class Student extends User {
constructor(name, address, years, course){
super(name, address, years) // Propiedades de Usuario que hereda
this.course = course // Propiedad de Alumno
}
showInfo (){
return `
Nombre: ${this.name}
Dirección: ${this.address}
Edad: ${this.years}
Curso: ${this.course}
`;
}
}
const vanesa = new Student("Vanesa", "Mengano, 79", 34, "React"); // Instancia
console.log(vanesa.showInfo());