1 00:00:00,360 --> 00:00:05,970 En esta clase vamos a ver el rendimiento del automóvil con el consumo de bencina o gas. 2 00:00:06,180 --> 00:00:11,280 Entonces la idea es tener un método, calcular consumo, le vamos a pasar, por ejemplo, el kilometraje 3 00:00:11,280 --> 00:00:19,020 recorrido, el porcentaje de bencina gastada o gas y calculamos el rendimiento, la cantidad de kilómetro 4 00:00:19,020 --> 00:00:20,280 recorrido por litro. 5 00:00:20,790 --> 00:00:23,670 Nos vamos al automóvil, vamos a implementar otro método. 6 00:00:25,610 --> 00:00:28,390 Va a retornar un float o doble? 7 00:00:29,360 --> 00:00:31,340 Todo lo mismo, pero la cosa es que sea decimal. 8 00:00:34,520 --> 00:00:35,610 Se calcula consumo. 9 00:00:36,000 --> 00:00:38,150 Lo primero, un entero bar CIBIR. 10 00:00:38,160 --> 00:00:46,590 Dos argumentos primero, el kilometraje recorrido los kilómetros y el segundo, el porcentaje en decimal. 11 00:00:46,650 --> 00:00:52,740 Por ejemplo, el 100 por ciento sería uno, el 60 por ciento sería 0,6 o 0.6. 12 00:00:52,830 --> 00:00:54,660 Por tanto, tiene que ser un float 13 00:00:58,980 --> 00:01:04,650 porcentaje bencina, bencina consumida o gastada porcentaje. 14 00:01:07,240 --> 00:01:09,100 Entonces, un cálculo matemático. 15 00:01:10,240 --> 00:01:16,900 Primero vamos a dividir el kilometraje, los kilómetros dividido y a que hagan un cálculo el porcentaje 16 00:01:16,900 --> 00:01:22,880 de bencina gastado multiplicado por el total de litros del estanque del automóvil. 17 00:01:23,140 --> 00:01:25,720 No faltaría ese dato, esa información. 18 00:01:26,290 --> 00:01:32,890 Por lo tanto, tu móvil necesita un atributo o característica de la capacidad del estanque, por ejemplo, 19 00:01:33,360 --> 00:01:34,300 un entero 20 00:01:37,780 --> 00:01:42,250 capacidad tanque y vamos a dar un valor por defecto 40 litros. 21 00:01:42,630 --> 00:01:46,060 Entonces, por defecto cualquier automóvil va a tener 40 litros. 22 00:01:46,160 --> 00:01:47,840 Si es distinto, lo modifica. 23 00:01:48,670 --> 00:01:52,960 Entonces con 40 litros de gas o bencina se llena el tanque. 24 00:01:54,830 --> 00:02:03,230 Entonces acá utilizamos el total capacidad tanke los 40 multiplicado por el porcentaje gastado. 25 00:02:05,310 --> 00:02:06,460 Y ahí tenemos el cálculo. 26 00:02:06,610 --> 00:02:12,880 Entonces, si recorre, por ejemplo, 300 kilómetros y gasta, no sé un 70 por ciento, multiplicamos 27 00:02:12,880 --> 00:02:21,340 0,7 por 40 y este resultado se divide en los 300 y obtenemos el rendimiento de kilómetros recorridos 28 00:02:21,370 --> 00:02:22,930 por litro de bencina. 29 00:02:23,350 --> 00:02:24,220 Veamos cómo sería. 30 00:02:25,270 --> 00:02:26,500 Entonces por acá. 31 00:02:33,460 --> 00:02:42,610 Para Subaru Cãrculo el consumo entonces kilometraje, por ejemplo 300 y en esos 300 se gastaron un 75 32 00:02:42,610 --> 00:02:51,430 por ciento del estanque, pero recuerda 0.75 y acá sería un floto F del tipo float. 33 00:02:51,550 --> 00:02:59,980 Entonces indicamos el F, 0.75 y 300 kilómetros, entonces acá nos indica para Subaru el consumo. 34 00:03:04,220 --> 00:03:06,830 Entonces kilometraje por litro es de 10. 35 00:03:07,070 --> 00:03:12,460 Si modificamos este parámetro lo dejamos 0,6, por ejemplo. 36 00:03:13,550 --> 00:03:14,170 Va a cambiar. 37 00:03:16,770 --> 00:03:20,670 Doce coma cinco kilómetros recorrido por litro de bencina. 38 00:03:21,210 --> 00:03:28,890 Una alternativa sería colocar el porcentaje como decimal como máximo 1 como mínimo 0,1 o cero punto 39 00:03:28,890 --> 00:03:29,820 cero algo. 40 00:03:30,090 --> 00:03:37,710 Entonces otra forma quizá colocar el porcentaje como un entero, por ejemplo 65 por ciento 100 por ciento. 41 00:03:37,950 --> 00:03:40,830 Entonces ahí tendríamos que modificar, crear otra versión. 42 00:03:42,870 --> 00:03:45,160 De hecho, voy a copiar esto tal cual. 43 00:03:46,460 --> 00:03:50,310 Mismo nombre y lo voy a pegar acá para que tengan dos versiones. 44 00:03:51,450 --> 00:03:55,070 Y voy a cambiar el tipo en vez de float va a ser entero. 45 00:03:56,290 --> 00:04:01,510 Se fijan, puedo tener mismo nombre de método, pero con distinto tipo de argumento. 46 00:04:01,690 --> 00:04:08,170 En este caso son dos en cantidad, kilómetros y porcentaje en China, pero cambia el tipo, acá es flop 47 00:04:08,280 --> 00:04:10,290 y acá es del tipo entero. 48 00:04:10,690 --> 00:04:16,450 Eso se le conoce como sobrecarga de método mismo nombre, método, pero de distinto tipo o distinto 49 00:04:16,450 --> 00:04:17,980 cantidad de parámetros. 50 00:04:18,070 --> 00:04:19,520 Después lo vamos a ver más en detalle. 51 00:04:19,690 --> 00:04:24,460 Esto sería una primera vista o introducción a este tema. 52 00:04:24,870 --> 00:04:30,070 Entonces, primero lo hagamos de la forma que teníamos y ahora la modificamos ahora para poder hacer 53 00:04:30,070 --> 00:04:33,390 este cálculo, un cierto capacidad, porque Carreto no float. 54 00:04:33,610 --> 00:04:34,990 Y acá tenemos dos entero. 55 00:04:35,360 --> 00:04:36,330 Van multiplicando. 56 00:04:36,500 --> 00:04:39,080 Bueno, acá tenemos que modificar, se tiene la capacidad. 57 00:04:39,120 --> 00:04:43,100 Están por perfecto 60, pero divididos 100. 58 00:04:43,680 --> 00:04:47,890 Entonces, âquã porcentaje de encina vamos a colocar? 59 00:04:47,890 --> 00:04:48,670 Parentesis. 60 00:04:48,940 --> 00:04:50,250 Dividimos en 100. 61 00:04:51,480 --> 00:04:53,830 Ya, pero vamos a colocar el 100. 62 00:04:53,870 --> 00:04:57,300 Como flotante 100 F. 63 00:04:57,430 --> 00:05:04,780 Porque recuerden, cuando se divide por un doble o por un float, el resultado es un doble o un float 64 00:05:04,930 --> 00:05:05,480 decimal. 65 00:05:05,590 --> 00:05:07,060 Por lo tanto, va a tener precisión. 66 00:05:07,390 --> 00:05:14,350 Entonces acá tenemos que dividir por 100 para convertir primero a un porcentaje real de 0 a 1 con decimales 67 00:05:14,640 --> 00:05:21,210 yademás del tipo float, para que el resultado sea también con precisión en decimales con punto flotante. 68 00:05:21,800 --> 00:05:24,070 Entonces, finalmente tenemos estas dos formas calcular. 69 00:05:25,470 --> 00:05:33,810 Y si se fijan doce coma cinco, ya voy a copiar esto tal cual lo copio, lo pego, pero acá voy a modificar, 70 00:05:34,500 --> 00:05:36,180 voy a colocar 60. 71 00:05:37,250 --> 00:05:43,040 Se fijan se colocó 0,6 0.6 F va a invocar este método. 72 00:05:43,360 --> 00:05:46,040 Este Daka que recibe un entero y un float. 73 00:05:47,780 --> 00:05:57,140 Pero para calcular consumo con 12 entero 300 y 60 automáticamente, la máquina virtual va a buscar un 74 00:05:57,140 --> 00:06:03,370 método con ese nombre que reciba estos dos parámetros del tipo entero y lo embocar, invoca este. 75 00:06:04,230 --> 00:06:07,250 Entonces ahora ejecutamos y el resultado debería ser igual. 76 00:06:08,090 --> 00:06:15,170 Doce coma cinco se fijan entonces finalmente mismo método pero diferente implementación cambia la forma 77 00:06:15,260 --> 00:06:16,280 en cómo se implementa. 78 00:06:16,490 --> 00:06:23,610 Y acá tenemos el principio de encapsulamiento, que se confunde con el principio de ocultación o visibilidad. 79 00:06:23,780 --> 00:06:25,450 Son dos principios completamente distintos. 80 00:06:25,580 --> 00:06:30,860 Uno es el divisibilidad de acceso a los datos, a los atributos y a los métodos. 81 00:06:30,950 --> 00:06:37,490 Si es público, si es privado, se protegido, mientras que el encapsulamiento es lo hermético de la 82 00:06:37,490 --> 00:06:38,600 implementación de cada método. 83 00:06:38,720 --> 00:06:41,300 Es decir, acá en la clase con el método main. 84 00:06:41,390 --> 00:06:48,260 En esta clase ejemplo automóvil estamos invocando calcular consumo, pero esta clase no sabe cómo está 85 00:06:48,260 --> 00:06:50,930 implementado por debajo este método ni tampoco este. 86 00:06:51,200 --> 00:06:55,700 La implementación está hermética dentro de cada método, está encapsulada. 87 00:06:55,880 --> 00:07:00,950 Solamente sabe que existe un método que hace algo y retorna un tipo auto, pero en realidad el cómo 88 00:07:00,950 --> 00:07:02,450 se implementa da lo mismo. 89 00:07:02,630 --> 00:07:05,450 Eso está oculto por debajo, está encapsulado. 90 00:07:06,920 --> 00:07:14,100 Y hay dos formas de implementación distinta acá esta visible vejan, pero cuando se trabaja con el objeto, 91 00:07:14,130 --> 00:07:19,680 cuando se invoca el método no está decible, está completamente encapsulado, entonces es el principio 92 00:07:19,680 --> 00:07:23,340 de encapsulamiento que se confunde mucho con el principio de ocultación. 93 00:07:23,390 --> 00:07:29,910 Para que tengan ahí esa diferencia, entonces su ocultación private protected public y encapsulamiento 94 00:07:30,150 --> 00:07:35,970 la abstracción que tiene, la implementación que tiene el objeto respecto a sus métodos o en cada uno 95 00:07:35,970 --> 00:07:36,660 de sus métodos. 96 00:07:36,800 --> 00:07:42,210 Entonces, un objeto que utiliza otro objeto no sabe cómo está implementado y tampoco no le interesa, 97 00:07:42,300 --> 00:07:43,350 solamente lo utiliza. 98 00:07:43,530 --> 00:07:44,700 Y pasa lo mismo en la vida real. 99 00:07:44,760 --> 00:07:51,060 Por ejemplo, a mí no me interesa cómo se fabrica un producto, cómo se fabrica el producto, cómo es 100 00:07:51,060 --> 00:07:53,370 su proceso de fabricación o ensamblaje. 101 00:07:53,580 --> 00:07:54,510 La verdad es que no me interesa. 102 00:07:54,510 --> 00:08:00,100 Yo voy y compro, por ejemplo, un televisor, un notebook que ya está listo y tampoco. 103 00:08:00,100 --> 00:08:03,390 No me interesa saber cómo está fabricado en detalle por dentro. 104 00:08:03,450 --> 00:08:08,220 Por lo general no es tan relevante saber el detalle de cómo funcionan las cosas por dentro. 105 00:08:08,340 --> 00:08:09,460 Lo importante es que funcionen. 106 00:08:09,640 --> 00:08:15,030 Entonces cada persona, cada producto, cualquier objeto de la vida real tiene su propio algoritmo, 107 00:08:15,150 --> 00:08:20,220 su propia forma de implementar la cosa y antes que se mordí de otro principio que implementa también 108 00:08:20,370 --> 00:08:26,490 este ejemplo sobrecarga de métodos, polimorfismo, mismo comportamiento, porque al final es calcular 109 00:08:26,580 --> 00:08:32,130 el consumo, el rendimiento en la misma operación, el comportamiento, pero implementado de otra forma 110 00:08:32,220 --> 00:08:37,710 distinta implementación y eso se le conoce como polimorfismo, diferente forma de hacer lo mismo. 111 00:08:37,860 --> 00:08:40,260 Nada más continuamos en la siguiente clase.