File tree 2 files changed +78
-0
lines changed
2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change
1
+ class BasicMath {
2
+ sumar ( a , b ) {
3
+ return a + b
4
+ }
5
+
6
+ restar ( a , b ) {
7
+ return a - b
8
+ }
9
+
10
+ multiplicar ( a , b ) {
11
+ return a * b
12
+ }
13
+
14
+ dividir ( a , b ) {
15
+ if ( b === 0 ) {
16
+ throw new Error ( 'Division by zero is not allowed' )
17
+ }
18
+ return a / b
19
+ }
20
+ }
21
+
22
+ const mathDecorator = ( fun ) => {
23
+ return function ( ...args ) {
24
+ console . log ( `Llamando a la funcion ${ fun . name } con argumentos` , args )
25
+ return fun . apply ( this , args )
26
+ }
27
+ }
28
+
29
+ BasicMath . prototype . sumar = mathDecorator ( BasicMath . prototype . sumar )
30
+ BasicMath . prototype . restar = mathDecorator ( BasicMath . prototype . restar )
31
+ BasicMath . prototype . multiplicar = mathDecorator ( BasicMath . prototype . multiplicar )
32
+ BasicMath . prototype . dividir = mathDecorator ( BasicMath . prototype . dividir )
33
+
34
+ const test = new BasicMath ( )
35
+
36
+ console . log ( test . sumar ( 2 , 3 ) )
37
+ console . log ( test . restar ( 5 , 3 ) )
38
+ console . log ( test . multiplicar ( 4 , 3 ) )
39
+ console . log ( test . dividir ( 10 , 2 ) )
Original file line number Diff line number Diff line change
1
+ class BasicMath {
2
+ sumar ( a : number , b : number ) {
3
+ return a + b
4
+ }
5
+
6
+ restar ( a : number , b : number ) {
7
+ return a - b
8
+ }
9
+
10
+ multiplicar ( a : number , b : number ) {
11
+ return a * b
12
+ }
13
+
14
+ dividir ( a : number , b : number ) {
15
+ if ( b === 0 ) {
16
+ throw new Error ( 'No se puede dividir entre 0' )
17
+ }
18
+ return a / b
19
+ }
20
+ }
21
+
22
+ const mathDecorator = ( fun ) => {
23
+ return function ( ...args ) {
24
+ console . log ( `Llamando a la funcion ${ fun . name } con argumentos` , args )
25
+ return fun . apply ( this , args )
26
+ }
27
+ }
28
+
29
+ BasicMath . prototype . sumar = mathDecorator ( BasicMath . prototype . sumar )
30
+ BasicMath . prototype . restar = mathDecorator ( BasicMath . prototype . restar )
31
+ BasicMath . prototype . multiplicar = mathDecorator ( BasicMath . prototype . multiplicar )
32
+ BasicMath . prototype . dividir = mathDecorator ( BasicMath . prototype . dividir )
33
+
34
+ const test = new BasicMath ( )
35
+
36
+ console . log ( test . sumar ( 2 , 3 ) )
37
+ console . log ( test . restar ( 5 , 3 ) )
38
+ console . log ( test . multiplicar ( 4 , 3 ) )
39
+ console . log ( test . dividir ( 10 , 2 ) )
You can’t perform that action at this time.
0 commit comments