1
00:00:00,120 --> 00:00:00,610
Bienvenidos.

2
00:00:00,630 --> 00:00:06,630
Continuamos con la sobrecarga de métodos 1 del concepto más importante de Yaba, sobre todo lo que polimorfismo.

3
00:00:06,780 --> 00:00:10,230
Diferentes formas de implementar un mismo método o comportamiento.

4
00:00:10,330 --> 00:00:16,200
Pero bien, veamos qué es lo que la sobrecarga se refiere a la posibilidad de tener dos o más métodos.

5
00:00:16,230 --> 00:00:17,310
Pero con el mismo nombre.

6
00:00:17,400 --> 00:00:22,240
Lo que cambia es su implementación en la forma en que se implementa este método.

7
00:00:22,290 --> 00:00:25,920
Pero está de acuerdo también a los parámetros, a los argumentos que recibe.

8
00:00:26,070 --> 00:00:30,990
Es decir, podríamos tener diferentes versiones de un método con el mismo nombre, pero lo que cambia

9
00:00:31,080 --> 00:00:34,200
es la cantidad de parámetros o argumentos y el tipo.

10
00:00:34,350 --> 00:00:39,300
Y también podrían estar organizado en un orden diferente, pero bien independiente.

11
00:00:39,390 --> 00:00:45,870
La idea es dar una implementación distinta en cada uno estos métodos o diferentes alternativas para

12
00:00:45,870 --> 00:00:46,470
un mismo método.

13
00:00:46,560 --> 00:00:51,300
Lo más típico, por ejemplo, para implementar una calculadora es sumar, por ejemplo, pero también

14
00:00:51,300 --> 00:00:58,530
para restar, multiplicar, dividir, tipicamente sumar puede recibir dos parámetros eiv del tipo entero.

15
00:00:58,650 --> 00:01:05,070
Entonces la implementación es simple toma OIV, los suma y retorna un tipo entero, pero podría tener

16
00:01:05,070 --> 00:01:07,080
variantes distintas forma implementar.

17
00:01:07,200 --> 00:01:14,430
Acá tenemos otra versión de sumar o alternativa que puede recibir dos números flotantes o decimales

18
00:01:14,520 --> 00:01:15,090
OIV.

19
00:01:15,240 --> 00:01:21,020
Entonces lo que cambia acá es el tipo de argumento, pero se mantiene el mismo nombre, da lo mismo

20
00:01:21,060 --> 00:01:25,020
si se llama A o B o J, da lo mismo.

21
00:01:25,380 --> 00:01:29,430
Puede ser distinto al nombre que tiene la versión con enteros.

22
00:01:29,820 --> 00:01:35,390
Puede ser, por ejemplo, float x float y griega, y acá con enteros hay B.

23
00:01:35,760 --> 00:01:36,750
Y también lo mismo.

24
00:01:36,870 --> 00:01:38,880
El tipo ratón tampoco se toma en cuenta.

25
00:01:38,970 --> 00:01:44,970
Lo que importa es que los argumentos en distinto, ya sea en tipo de dato, pero también en cantidad.

26
00:01:45,600 --> 00:01:53,280
Acá tenemos otra versión que suma hay B, pero A es del tipo entero, mientras que ve en el tipo flotante

27
00:01:53,730 --> 00:01:55,350
y retorna float, por supuesto.

28
00:01:55,470 --> 00:01:56,970
Y acá tenemos otro sumar.

29
00:01:57,060 --> 00:02:03,270
Pero que da vueltas parámetro en la ahora es float y el B es el tipo entero int.

30
00:02:03,570 --> 00:02:06,870
A diferencia acá que el A era entero y acá era flotante.

31
00:02:06,990 --> 00:02:10,260
Pero no solamente podemos tener dos argumentos, sino más argumento.

32
00:02:10,320 --> 00:02:18,360
Por ejemplo, podríamos tener uno que sume A, B, C y D. o a, b y c 3 argumento 4 argumento.

33
00:02:18,480 --> 00:02:23,760
Pero como cambia la cantidad de parámetro o argumento, bueno, también se aplica la sobrecarga.

34
00:02:23,850 --> 00:02:32,520
También podemos sumar double y si se fijan acá se llama distinto X, y y, z y acá B y retorna un doble,

35
00:02:32,670 --> 00:02:33,690
un tipo de auto distinto.

36
00:02:33,840 --> 00:02:37,290
Incluso podríamos retornar Bait y hacer algo con estos datos.

37
00:02:37,350 --> 00:02:41,400
Por ejemplo, imprimir la suma en vez de retornar un valor, se fijan.

38
00:02:41,640 --> 00:02:47,730
Y otra versión que recibe dos string y la implementación sería ser que convierte estos dos string a

39
00:02:47,730 --> 00:02:54,810
un tipo integer con parse int integer punto perci y los convierte a un entero, los suma y retorna la

40
00:02:54,810 --> 00:02:55,800
suma entera.

41
00:02:55,980 --> 00:03:02,310
Entonces, para resumir y finalizar, no importa el tipo de retorno, si es entero, flotante, si es

42
00:03:02,400 --> 00:03:05,390
void o si el double o del tipo string.

43
00:03:05,580 --> 00:03:12,060
Al final lo que importa son los parámetros que se recibe en el método que sean diferente en tipo y también

44
00:03:12,150 --> 00:03:12,900
en cantidad.

45
00:03:13,050 --> 00:03:19,410
No solamente se aplica para tipos de datos numéricos o primitivos, también para tipos de referencia

46
00:03:19,500 --> 00:03:20,130
objetos.

47
00:03:20,460 --> 00:03:26,070
Por poner otro ejemplo, podríamos tener una clase que realiza consultas al Ayato y tiene métodos,

48
00:03:26,220 --> 00:03:31,080
por ejemplo buscar usuarios y podría tener un método buscar usuarios sin argumentos.

49
00:03:31,140 --> 00:03:37,110
Que lista retorna el listado completo de usuarios, pero a su vez va a tener otro método igual buscar

50
00:03:37,110 --> 00:03:43,440
usuario, pero que va a recibir solamente un entero con el Heidy y va a buscar por Heidy nada más.

51
00:03:43,590 --> 00:03:49,290
Después va a tener buscar usuarios que va a recibir como argumento un string con el nombre y solamente

52
00:03:49,290 --> 00:03:50,250
a buscar por el nombre.

53
00:03:50,340 --> 00:03:55,980
Pero también podría recibir otro tipo de parámetro, como por ejemplo que reciba el nombre y además

54
00:03:56,040 --> 00:03:56,640
el cepillo.

55
00:03:56,730 --> 00:04:00,120
Entonces que por nombre propio y además por edad se fijan.

56
00:04:00,240 --> 00:04:05,400
Y así podríamos tener el mismo nombre, pero con distinto tipo de parámetros y cantidad de parámetros.

57
00:04:05,640 --> 00:04:09,480
Y todo para realizar consulta la rato pero de forma distinta.

58
00:04:09,570 --> 00:04:12,300
Bien, pero continuemos la siguiente clase con un ejemplo.

59
00:04:12,390 --> 00:04:13,080
Nos vemos.
