Hola Te saludo nuevamente.
Ubaldo Acosta espero que estén listos para comenzar con esta elección.
A continuación vamos a estudiar el tema de la palabra islam o ya están listos.
Vamos palabra instance o la palabra instance off.
Básicamente responde a la pregunta si una clase tiene alguna relación con otra clase que indiquemos
por ejemplo en la figura podemos observar que todos los elementos podrían ser parte de una clase llamada
figura geométrica.
Es decir esta sería la superclase o clase padre de todas las figuras geométricas mostradas y como subclases
tendríamos la clase círculo triángulo rectángulo elipses etcétera y a su vez cada una de estas clases
serían a su vez un tipo de figura geométrica.
Por lo tanto si preguntáramos si una clase círculo es de tipo figura geométrica la respuesta debería
ser que sí.
De igual manera si hiciéramos esta pregunta de un rectángulo o de un triángulo la respuesta sería que
si es de un tipo figura geométrica.
Para realizar este tipo de pregunta en Java se utiliza la palabra reservada instance off y esta palabra
reservada responde a la pregunta si es del tipo especificado.
Veamos también un diagrama de clases con el cual podemos agregar una jerarquía de clases y así poder
hacer la pregunta si una clase es de cierto tipo y vemos que si hay una jerarquía de clases involucrada.
Entonces lo lógico debería ser que si son del tipo del cual heredan Veamos a continuación un ejemplo
basado en este diagrama de clases de cómo podemos hacer la pregunta en código Java utilizando la palabra
instance of usode instance off en Java.
Como hemos comentado el operador insten Zoff sirve para conocer si un objeto es una instancia de una
clase determinada en tiempo de ejecución si corresponde con el tipo de dato regresa true.
De lo contrario es igual a fouls
como podemos observar en el código el tipo elipse debido a la jerarquía de clases que hemos definido
responde que sí es el tipo indicado para varios tipos.
Por ejemplo responde que sí es un tipo de elipse.
También es un tipo círculo y también es un tipo figura geométrica.
Incluso si preguntamos también si es de tipo object.
La respuesta sería tú debido a que todas las clases de manera indirecta heredan en primer término de
la clase agobien.
Por ello si vamos a hacer una revisión de varios tipos en la jerarquía de clases se recomienda que se
revise primero las clases de menor jerarquía y hasta el final.
Las clases de mayor jerarquía.
Esto debido a que una clase podría dar como respuesta Tru si es de un tipo compatible.
Es decir que sea un tipo que pueda promoverse a otro tipo de dato.
Este concepto de promoción a otro tipo o de conversiones lo veremos más adelante pero básicamente si
preguntamos primero por clases de mayor jerarquía nos va a regresar tú nos va a regresar que si corresponde
a este tipo y podríamos entrar en problemas debido a que ya no se revisarían los siguientes casos de
clases inferiores en auge general de clases establecida si queremos que solo coincida con el tipo más
interno en lugar de utilizar la estructura IFF podemos utilizar la estructura con la cual solo entrará
a un caso al estar comprobando si es de cierto tipo.
Cabe mencionar que el operador instance of solo puede usarse en variables de tipo obvie pero no en tipos
primitivos.
Ahora la pregunta sería para qué nos sirve saber si un tipo es de cierto tipo en una jerarquía de clases.
La respuesta es que dependiendo del tipo que sea una clase podemos realizar ciertas operaciones por
ser de cierto tipo o mandar a llamar algún método para cierto tipo.
También veremos más adelante que esto nos puede servir para realizar conversiones entre objetos y esta
operación sólo la realizaríamos si responde como verdadero a un tipo de dato.
De lo contrario No ejecutaremos esa parte de código así que es una forma de empezar a crear código más
complejo dependiendo de la jerarquía de clases que tengamos de alguna manera.
Es como programar manualmente el polimorfismo pero aquí no se limita a ejecutar un método de cierto
tipo sino podemos ejecutar cualquier código o mandar a llamar varios métodos entre otras características
más.
Así que el operador instance off nos permite saber el tipo de dato del objeto en tiempo de ejecución
y así poder realizar alguna acción debido al tipo que hayamos detectado así que en este código mostrado
estamos suponiendo que tenemos una clase llamada figura geométrica.
Creamos posteriormente un objeto de tipo Eclipse podemos observar que la clase Eclipse desciende de
la clase círculo y a su vez la clase círculo desciende de la clase figura geométrica y posteriormente
mandamos a llamar un método que se llame determina tipo proporcionando en este momento el tipo de figura
geométrica que contiene una referencia a un objeto de tipo elipse.
Este método determina tipo recibe como parámetro un tipo figura geométrica así que en este momento estamos
aplicando el concepto de polimorfismo ya que estamos recibiendo una variable de tipo elipse y lo estamos
asignando a una variable de tipo figura así que en este momento estamos proporcionando una referencia
de tipo elipse a una variable de tipo figura geométrica y posteriormente podemos hacer la pregunta respectiva
si la figura en este caso el dato que estamos recibiendo.
Este objeto es de tipo elipse.
Para ello utilizamos la palabra reservada instance off.
Así que la pregunta sería si el tipo recibido de tipo figura es de tipo elipse si es de tipo elipse
entonces se va a mandar a imprimir a consola que si es de tipo elipse también podemos preguntar si esta
variable también es de tipo círculo y debido a que estamos en la jerarquía de clases es la clase padre
de la clase elipse entonces también responde como verdadero es decir que también es un tipo círculo
y por último podemos preguntar si esta misma referencia del objeto elipse también corresponde a un tipo
figura geométrica y podemos observar que también nos responde con verdadero.
Incluso podríamos agregar el caso de la clase Hobie y también nos respondería como verdadero.
Como hemos comentado para que no entre en cada uno de estos casos podríamos utilizar la palabra els
para que únicamente entre a la comprobación de la jerarquía más baja dentro de nuestra jerarquía de
clases y con esto únicamente estaría ejecutando un caso y no todos los casos.
A continuación vamos a crear un ejercicio para poner en práctica el concepto de la palabra Instant SOV
en Java.