1
00:00:10,420 --> 00:00:12,180
Hola Te saludo nuevamente.

2
00:00:12,200 --> 00:00:16,490
Ubaldo Acosta espero que estén listos para comenzar con esta elección.

3
00:00:16,510 --> 00:00:22,070
A continuación vamos a estudiar el tema de la palabra islam o ya están listos.

4
00:00:22,180 --> 00:00:29,040
Vamos palabra instance o la palabra instance off.

5
00:00:29,180 --> 00:00:35,180
Básicamente responde a la pregunta si una clase tiene alguna relación con otra clase que indiquemos

6
00:00:36,370 --> 00:00:42,340
por ejemplo en la figura podemos observar que todos los elementos podrían ser parte de una clase llamada

7
00:00:42,340 --> 00:00:43,750
figura geométrica.

8
00:00:44,050 --> 00:00:51,560
Es decir esta sería la superclase o clase padre de todas las figuras geométricas mostradas y como subclases

9
00:00:51,580 --> 00:00:59,410
tendríamos la clase círculo triángulo rectángulo elipses etcétera y a su vez cada una de estas clases

10
00:00:59,590 --> 00:01:02,840
serían a su vez un tipo de figura geométrica.

11
00:01:03,040 --> 00:01:09,640
Por lo tanto si preguntáramos si una clase círculo es de tipo figura geométrica la respuesta debería

12
00:01:09,640 --> 00:01:11,200
ser que sí.

13
00:01:11,320 --> 00:01:17,440
De igual manera si hiciéramos esta pregunta de un rectángulo o de un triángulo la respuesta sería que

14
00:01:17,440 --> 00:01:20,040
si es de un tipo figura geométrica.

15
00:01:20,170 --> 00:01:26,860
Para realizar este tipo de pregunta en Java se utiliza la palabra reservada instance off y esta palabra

16
00:01:26,860 --> 00:01:31,740
reservada responde a la pregunta si es del tipo especificado.

17
00:01:31,850 --> 00:01:37,520
Veamos también un diagrama de clases con el cual podemos agregar una jerarquía de clases y así poder

18
00:01:37,580 --> 00:01:44,270
hacer la pregunta si una clase es de cierto tipo y vemos que si hay una jerarquía de clases involucrada.

19
00:01:44,270 --> 00:01:51,690
Entonces lo lógico debería ser que si son del tipo del cual heredan Veamos a continuación un ejemplo

20
00:01:51,900 --> 00:01:58,590
basado en este diagrama de clases de cómo podemos hacer la pregunta en código Java utilizando la palabra

21
00:01:58,650 --> 00:02:04,170
instance of usode instance off en Java.

22
00:02:04,210 --> 00:02:09,820
Como hemos comentado el operador insten Zoff sirve para conocer si un objeto es una instancia de una

23
00:02:09,820 --> 00:02:16,420
clase determinada en tiempo de ejecución si corresponde con el tipo de dato regresa true.

24
00:02:16,420 --> 00:02:18,430
De lo contrario es igual a fouls

25
00:02:23,200 --> 00:02:29,050
como podemos observar en el código el tipo elipse debido a la jerarquía de clases que hemos definido

26
00:02:29,410 --> 00:02:33,080
responde que sí es el tipo indicado para varios tipos.

27
00:02:33,160 --> 00:02:36,030
Por ejemplo responde que sí es un tipo de elipse.

28
00:02:36,190 --> 00:02:41,110
También es un tipo círculo y también es un tipo figura geométrica.

29
00:02:41,200 --> 00:02:44,140
Incluso si preguntamos también si es de tipo object.

30
00:02:44,290 --> 00:02:51,400
La respuesta sería tú debido a que todas las clases de manera indirecta heredan en primer término de

31
00:02:51,400 --> 00:02:52,420
la clase agobien.

32
00:02:53,350 --> 00:02:59,260
Por ello si vamos a hacer una revisión de varios tipos en la jerarquía de clases se recomienda que se

33
00:02:59,260 --> 00:03:03,650
revise primero las clases de menor jerarquía y hasta el final.

34
00:03:03,700 --> 00:03:05,700
Las clases de mayor jerarquía.

35
00:03:05,950 --> 00:03:12,610
Esto debido a que una clase podría dar como respuesta Tru si es de un tipo compatible.

36
00:03:12,610 --> 00:03:17,430
Es decir que sea un tipo que pueda promoverse a otro tipo de dato.

37
00:03:17,560 --> 00:03:24,010
Este concepto de promoción a otro tipo o de conversiones lo veremos más adelante pero básicamente si

38
00:03:24,010 --> 00:03:31,060
preguntamos primero por clases de mayor jerarquía nos va a regresar tú nos va a regresar que si corresponde

39
00:03:31,120 --> 00:03:37,390
a este tipo y podríamos entrar en problemas debido a que ya no se revisarían los siguientes casos de

40
00:03:37,390 --> 00:03:44,640
clases inferiores en auge general de clases establecida si queremos que solo coincida con el tipo más

41
00:03:44,640 --> 00:03:52,140
interno en lugar de utilizar la estructura IFF podemos utilizar la estructura con la cual solo entrará

42
00:03:52,230 --> 00:03:56,400
a un caso al estar comprobando si es de cierto tipo.

43
00:03:56,460 --> 00:04:03,150
Cabe mencionar que el operador instance of solo puede usarse en variables de tipo obvie pero no en tipos

44
00:04:03,150 --> 00:04:04,560
primitivos.

45
00:04:04,560 --> 00:04:11,480
Ahora la pregunta sería para qué nos sirve saber si un tipo es de cierto tipo en una jerarquía de clases.

46
00:04:11,550 --> 00:04:17,490
La respuesta es que dependiendo del tipo que sea una clase podemos realizar ciertas operaciones por

47
00:04:17,490 --> 00:04:22,410
ser de cierto tipo o mandar a llamar algún método para cierto tipo.

48
00:04:22,560 --> 00:04:28,860
También veremos más adelante que esto nos puede servir para realizar conversiones entre objetos y esta

49
00:04:28,860 --> 00:04:34,440
operación sólo la realizaríamos si responde como verdadero a un tipo de dato.

50
00:04:34,440 --> 00:04:40,860
De lo contrario No ejecutaremos esa parte de código así que es una forma de empezar a crear código más

51
00:04:40,860 --> 00:04:45,590
complejo dependiendo de la jerarquía de clases que tengamos de alguna manera.

52
00:04:45,630 --> 00:04:51,990
Es como programar manualmente el polimorfismo pero aquí no se limita a ejecutar un método de cierto

53
00:04:51,990 --> 00:04:58,980
tipo sino podemos ejecutar cualquier código o mandar a llamar varios métodos entre otras características

54
00:04:58,980 --> 00:04:59,740
más.

55
00:05:00,000 --> 00:05:06,000
Así que el operador instance off nos permite saber el tipo de dato del objeto en tiempo de ejecución

56
00:05:06,480 --> 00:05:13,610
y así poder realizar alguna acción debido al tipo que hayamos detectado así que en este código mostrado

57
00:05:13,820 --> 00:05:17,630
estamos suponiendo que tenemos una clase llamada figura geométrica.

58
00:05:17,690 --> 00:05:24,490
Creamos posteriormente un objeto de tipo Eclipse podemos observar que la clase Eclipse desciende de

59
00:05:24,490 --> 00:05:30,670
la clase círculo y a su vez la clase círculo desciende de la clase figura geométrica y posteriormente

60
00:05:30,670 --> 00:05:37,960
mandamos a llamar un método que se llame determina tipo proporcionando en este momento el tipo de figura

61
00:05:37,960 --> 00:05:43,090
geométrica que contiene una referencia a un objeto de tipo elipse.

62
00:05:43,120 --> 00:05:50,230
Este método determina tipo recibe como parámetro un tipo figura geométrica así que en este momento estamos

63
00:05:50,230 --> 00:05:57,550
aplicando el concepto de polimorfismo ya que estamos recibiendo una variable de tipo elipse y lo estamos

64
00:05:57,550 --> 00:06:03,820
asignando a una variable de tipo figura así que en este momento estamos proporcionando una referencia

65
00:06:03,820 --> 00:06:11,200
de tipo elipse a una variable de tipo figura geométrica y posteriormente podemos hacer la pregunta respectiva

66
00:06:11,470 --> 00:06:15,250
si la figura en este caso el dato que estamos recibiendo.

67
00:06:15,280 --> 00:06:18,100
Este objeto es de tipo elipse.

68
00:06:18,100 --> 00:06:21,190
Para ello utilizamos la palabra reservada instance off.

69
00:06:21,250 --> 00:06:28,060
Así que la pregunta sería si el tipo recibido de tipo figura es de tipo elipse si es de tipo elipse

70
00:06:28,120 --> 00:06:34,180
entonces se va a mandar a imprimir a consola que si es de tipo elipse también podemos preguntar si esta

71
00:06:34,180 --> 00:06:40,360
variable también es de tipo círculo y debido a que estamos en la jerarquía de clases es la clase padre

72
00:06:40,450 --> 00:06:46,690
de la clase elipse entonces también responde como verdadero es decir que también es un tipo círculo

73
00:06:47,080 --> 00:06:52,990
y por último podemos preguntar si esta misma referencia del objeto elipse también corresponde a un tipo

74
00:06:52,990 --> 00:06:58,690
figura geométrica y podemos observar que también nos responde con verdadero.

75
00:06:58,690 --> 00:07:04,160
Incluso podríamos agregar el caso de la clase Hobie y también nos respondería como verdadero.

76
00:07:04,300 --> 00:07:09,860
Como hemos comentado para que no entre en cada uno de estos casos podríamos utilizar la palabra els

77
00:07:12,270 --> 00:07:17,970
para que únicamente entre a la comprobación de la jerarquía más baja dentro de nuestra jerarquía de

78
00:07:17,970 --> 00:07:24,420
clases y con esto únicamente estaría ejecutando un caso y no todos los casos.

79
00:07:24,420 --> 00:07:29,700
A continuación vamos a crear un ejercicio para poner en práctica el concepto de la palabra Instant SOV

80
00:07:29,790 --> 00:07:30,300
en Java.
