forked from mouredev/hello-javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path23-classes-exercises.js
More file actions
87 lines (65 loc) · 1.79 KB
/
23-classes-exercises.js
File metadata and controls
87 lines (65 loc) · 1.79 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
Clase 6 en vídeo | 15/08/2024
Clases (continuación) y manejo de errores
https://www.youtube.com/live/8p6SLAIgwZI?si=MS9o7qIhezx9NTQX&t=902
*/
// 1. Crea una clase que reciba dos propiedades
class PersonBis {
constructor(name, age) {
this.name = name
this.age = age
}
}
let person1 = new PersonBis('Victor', 44)
console.log(person1)
// 2. Añade un método a la clase que utilice las propiedades
class PersonBisMethod extends PersonBis {
surname() {
console.log("Se podría agregar el apellido")
}
}
let person2 = new PersonBisMethod('PU', 3)
// 3. Muestra los valores de las propiedades e invoca a la función
console.log(person2.name)
person2.surname()
// 4. Añade un método estático a la primera clase
class MathOperations extends PersonBisMethod {
static sum(a, b) {
return a + b
}
}
// 5. Haz uso del método estático
console.log(MathOperations.sum(3, 6))
// 6. Crea una clase que haga uso de herencia
person2.surname()
// 7. Crea una clase que haga uso de getters y setters
class GetSetPerson {
#name
#age
#alias
#bank
constructor(name, age, alias, bank) {
this.#name = name
this.#age = age
this.#alias = alias
this.#bank = bank
}
get name() {
return this.#name
}
get bank() {
return this.#bank
}
set bank(bank) {
this.#bank = bank
}
}
person6 = new GetSetPerson("NotBrais", 37, "NotMoureDev", "IBAN123456789")
console.log(person6)
// 8. Modifica la clase con getters y setters para que use propiedades privadas
console.log(person6.name)
// 9. Utiliza los get y set y muestra sus valores
console.log(person6.bank)
// 10. Sobrescribe un método de una clase que utilice herencia
person6.bank = "new IBAN123456789"
console.log(person6.bank)