1
00:00:00,250 --> 00:00:05,160
En la iglesia anterior implementamos el método y quals, pero de forma simple, no validamos.

2
00:00:05,190 --> 00:00:09,310
Por ejemplo, que el fabricante no se anulo o que el modelo nos anulo.

3
00:00:09,540 --> 00:00:15,780
Porque claro, si llegasen los fabricantes este atributo al invocar el método quals va a lanzar un error,

4
00:00:15,870 --> 00:00:18,930
un nulo interés, cepellón y se va a romper nuestra aplicación.

5
00:00:19,020 --> 00:00:21,750
Entonces tenemos que validar que sea distinto o nulo.

6
00:00:21,810 --> 00:00:23,960
Fabricante y modelo, claro.

7
00:00:24,120 --> 00:00:25,980
Veamos el ejemplo para la prueba.

8
00:00:26,070 --> 00:00:33,510
Vamos a crear un objeto por acá solamente para probar automóvil, porque el nombre auto

9
00:00:36,460 --> 00:00:36,710
viene.

10
00:00:38,580 --> 00:00:42,870
Creemos el objeto, pero no pasamos ningún valor sin fabricantes, sin modelos, sin nada.

11
00:00:42,930 --> 00:00:47,900
Por lo tanto, el fabricante y la tributo es trunk o esta variable del objeto es nula.

12
00:00:48,450 --> 00:00:56,790
Entonces le quiere comprar auto con otro auto, por ejemplo acá mismo, un poquito más abajo, entonces

13
00:00:56,880 --> 00:00:58,990
auto punto y quals?

14
00:01:00,770 --> 00:01:05,360
Lo comparamos con Nisan cualquier misa, el 1 o el 2.

15
00:01:05,990 --> 00:01:09,620
Se fijan no marca raka, pero bueno, en tiempo ejecución.

16
00:01:09,650 --> 00:01:11,900
Cuando ejecutemos acá lanzaré un error.

17
00:01:12,590 --> 00:01:14,390
Vamos a ver, levantamos.

18
00:01:15,760 --> 00:01:16,330
Tal cual.

19
00:01:16,450 --> 00:01:19,830
Un pulpo intercepta automóvil y cuáles?

20
00:01:20,170 --> 00:01:20,880
Por qué?

21
00:01:21,210 --> 00:01:29,200
Por qué fabricante y modelo son nulos invocando el método y es un objeto sin referencia del tipo NULL,

22
00:01:29,290 --> 00:01:34,920
no puede invocar métodos porque no tiene valor, no tiene instancia, referencia, se fijan.

23
00:01:34,960 --> 00:01:35,680
Por eso falla.

24
00:01:35,860 --> 00:01:38,440
Entonces para evitar este problema, para que sea más robusto.

25
00:01:38,530 --> 00:01:43,030
Tenemos que validar entonces por acá mismo para que no sea tan grande esto.

26
00:01:43,930 --> 00:01:47,310
Bajamos entonces por acá vamos a preguntar que sea distinto, nulo.

27
00:01:48,000 --> 00:01:49,180
Punto fabricante.

28
00:01:52,560 --> 00:02:01,300
Y como también comparamos con modelo, lo mismo disputo modelo y otro más bajamos Geeta.

29
00:02:01,480 --> 00:02:06,130
Entonces validamos qué fabricante sea distinto NULL y también diz modelo.

30
00:02:07,910 --> 00:02:09,800
Bien, volvemos a levantar.

31
00:02:13,130 --> 00:02:19,610
Y ya no da alas al error, pero obviamente fouls por supuesto objeto distinto, ya que el fabricante

32
00:02:19,700 --> 00:02:24,800
y el modelo bueno uno es 100 referencia y el otro tiene diferencia, por lo tanto son distintos.

33
00:02:24,890 --> 00:02:27,390
Ahora veamos otro detalle, otra validación.

34
00:02:27,440 --> 00:02:33,410
Qué pasa si quiero comprar un automóvil con otro objeto de otro tipo auto, por ejemplo, con un cliente,

35
00:02:33,410 --> 00:02:37,180
con una factura, con una fecha, con un tipo de toit o incluso con un estreno?

36
00:02:37,430 --> 00:02:42,890
Bueno, aunque lo corriente, lo normal, es comparar con el mismo tipo un automóvil con automóvil.

37
00:02:43,010 --> 00:02:47,840
Entonces, para evitar ese error podremos comparar por tipo utilizando instances OF.

38
00:02:48,320 --> 00:02:49,190
Veamos el ejemplo.

39
00:02:49,310 --> 00:02:54,500
Supongamos que tenemos por acá Daguet un tipo fecha

40
00:02:57,320 --> 00:02:58,640
importamos de Java útil.

41
00:03:00,350 --> 00:03:00,890
Perfecto.

42
00:03:01,340 --> 00:03:02,340
Y quiero comparar.

43
00:03:03,480 --> 00:03:10,260
Auto o Nissan da lo mismo cualquier tipo con una fecha al final estamos comparando peras con manzanas,

44
00:03:10,340 --> 00:03:12,750
cosa que no tiene nada que ver de distinto tipo.

45
00:03:12,930 --> 00:03:14,280
No son tipos compatibles.

46
00:03:15,420 --> 00:03:16,470
Veamos el error.

47
00:03:17,220 --> 00:03:24,510
Un error de casting no puede convertir a Cayce y no puede convertir un tipo Daguet a un tipo automóvil

48
00:03:24,540 --> 00:03:26,040
porque son tipos incompatibles.

49
00:03:26,910 --> 00:03:31,770
Igual pasaría con un strip, por ejemplo.

50
00:03:31,860 --> 00:03:32,350
Da lo mismo.

51
00:03:32,460 --> 00:03:32,820
Hola!

52
00:03:36,130 --> 00:03:40,180
Tampoco puede comparar o convertir un string con un tipo automóvil.

53
00:03:40,360 --> 00:03:41,590
No son tipos compatibles.

54
00:03:41,680 --> 00:03:44,050
No se puede ser caset y tendremos que valier.

55
00:03:44,160 --> 00:03:46,990
Bueno, lo dejo como dato como estaba, aunque da lo mismo.

56
00:03:47,630 --> 00:03:49,570
Nos vamos al automóvil y acá comparamos.

57
00:03:49,780 --> 00:03:54,300
Entonces por acá antes del cast automóvil Univ.

58
00:03:54,700 --> 00:04:02,680
Entonces si es distinto, usamos sin reclamacion parentesis, objeto, instance of automóvil.

59
00:04:05,650 --> 00:04:13,590
Entonces, si el objeto no es instancia de automóvil o no es del tipo de automóvil rotor, fouls no

60
00:04:13,600 --> 00:04:15,970
son iguales, pero tenemos falso y nos salimos.

61
00:04:16,060 --> 00:04:20,920
Entonces solamente comparamos cuando el tipo de dato es automóvil.

62
00:04:21,030 --> 00:04:23,770
Ese compramos automóvil con automóvil.

63
00:04:23,980 --> 00:04:27,520
Recuerden que objeto este de acá es lo que se pasa por argumento.

64
00:04:27,620 --> 00:04:34,090
Es lo que vamos a comparar con el objeto en cuestión del tipo automóvil, del tipo de esta clase con

65
00:04:34,090 --> 00:04:34,620
el diz.

66
00:04:34,990 --> 00:04:36,400
Entonces tienen que ser del mismo tipo.

67
00:04:36,820 --> 00:04:37,360
Vamos a ver.

68
00:04:42,600 --> 00:04:43,300
No lanza error.

69
00:04:43,440 --> 00:04:44,600
Se fijan y esforzo.

70
00:04:45,050 --> 00:04:50,550
Entonces de esa forma Akiha, nuestro diseño de licuarse mucho más robusto, con una mejor validación.

71
00:04:50,700 --> 00:04:53,160
Y por último, también podríamos tener Univ.

72
00:04:53,840 --> 00:04:59,190
Y comparamos por referencia diz si es igual al objeto.

73
00:04:59,470 --> 00:05:04,650
Si ambos son iguales por referencia ratonas, mostró automáticamente.

74
00:05:04,710 --> 00:05:06,810
Ya no es necesario comparar por atributos.

75
00:05:06,900 --> 00:05:10,980
Si se trata del mismo objeto, está molesto, ya no es necesario comparar y eso sería.

76
00:05:11,160 --> 00:05:12,810
Nos vemos en la siguiente clase.
