En la iglesia anterior implementamos el método y quals, pero de forma simple, no validamos.
Por ejemplo, que el fabricante no se anulo o que el modelo nos anulo.
Porque claro, si llegasen los fabricantes este atributo al invocar el método quals va a lanzar un error,
un nulo interés, cepellón y se va a romper nuestra aplicación.
Entonces tenemos que validar que sea distinto o nulo.
Fabricante y modelo, claro.
Veamos el ejemplo para la prueba.
Vamos a crear un objeto por acá solamente para probar automóvil, porque el nombre auto
viene.
Creemos el objeto, pero no pasamos ningún valor sin fabricantes, sin modelos, sin nada.
Por lo tanto, el fabricante y la tributo es trunk o esta variable del objeto es nula.
Entonces le quiere comprar auto con otro auto, por ejemplo acá mismo, un poquito más abajo, entonces
auto punto y quals?
Lo comparamos con Nisan cualquier misa, el 1 o el 2.
Se fijan no marca raka, pero bueno, en tiempo ejecución.
Cuando ejecutemos acá lanzaré un error.
Vamos a ver, levantamos.
Tal cual.
Un pulpo intercepta automóvil y cuáles?
Por qué?
Por qué fabricante y modelo son nulos invocando el método y es un objeto sin referencia del tipo NULL,
no puede invocar métodos porque no tiene valor, no tiene instancia, referencia, se fijan.
Por eso falla.
Entonces para evitar este problema, para que sea más robusto.
Tenemos que validar entonces por acá mismo para que no sea tan grande esto.
Bajamos entonces por acá vamos a preguntar que sea distinto, nulo.
Punto fabricante.
Y como también comparamos con modelo, lo mismo disputo modelo y otro más bajamos Geeta.
Entonces validamos qué fabricante sea distinto NULL y también diz modelo.
Bien, volvemos a levantar.
Y ya no da alas al error, pero obviamente fouls por supuesto objeto distinto, ya que el fabricante
y el modelo bueno uno es 100 referencia y el otro tiene diferencia, por lo tanto son distintos.
Ahora veamos otro detalle, otra validación.
Qué pasa si quiero comprar un automóvil con otro objeto de otro tipo auto, por ejemplo, con un cliente,
con una factura, con una fecha, con un tipo de toit o incluso con un estreno?
Bueno, aunque lo corriente, lo normal, es comparar con el mismo tipo un automóvil con automóvil.
Entonces, para evitar ese error podremos comparar por tipo utilizando instances OF.
Veamos el ejemplo.
Supongamos que tenemos por acá Daguet un tipo fecha
importamos de Java útil.
Perfecto.
Y quiero comparar.
Auto o Nissan da lo mismo cualquier tipo con una fecha al final estamos comparando peras con manzanas,
cosa que no tiene nada que ver de distinto tipo.
No son tipos compatibles.
Veamos el error.
Un error de casting no puede convertir a Cayce y no puede convertir un tipo Daguet a un tipo automóvil
porque son tipos incompatibles.
Igual pasaría con un strip, por ejemplo.
Da lo mismo.
Hola!
Tampoco puede comparar o convertir un string con un tipo automóvil.
No son tipos compatibles.
No se puede ser caset y tendremos que valier.
Bueno, lo dejo como dato como estaba, aunque da lo mismo.
Nos vamos al automóvil y acá comparamos.
Entonces por acá antes del cast automóvil Univ.
Entonces si es distinto, usamos sin reclamacion parentesis, objeto, instance of automóvil.
Entonces, si el objeto no es instancia de automóvil o no es del tipo de automóvil rotor, fouls no
son iguales, pero tenemos falso y nos salimos.
Entonces solamente comparamos cuando el tipo de dato es automóvil.
Ese compramos automóvil con automóvil.
Recuerden que objeto este de acá es lo que se pasa por argumento.
Es lo que vamos a comparar con el objeto en cuestión del tipo automóvil, del tipo de esta clase con
el diz.
Entonces tienen que ser del mismo tipo.
Vamos a ver.
No lanza error.
Se fijan y esforzo.
Entonces de esa forma Akiha, nuestro diseño de licuarse mucho más robusto, con una mejor validación.
Y por último, también podríamos tener Univ.
Y comparamos por referencia diz si es igual al objeto.
Si ambos son iguales por referencia ratonas, mostró automáticamente.
Ya no es necesario comparar por atributos.
Si se trata del mismo objeto, está molesto, ya no es necesario comparar y eso sería.
Nos vemos en la siguiente clase.