Hola y bienvenidos a esta elección.
A continuación vamos a ver el tema de la clase Object en Llada están listos.
Vamos
bien como primer paso cerramos cualquier proyecto que tengamos abierto damos clic derecho Claws y vamos
a crear un nuevo proyecto damos un enfile ni proyecto seleccionamos lleva Maiden ya la aplicación damos
clic en Next y el nombre del proyecto va a hacer ejercicio
clase Object y la depositamos en la carpeta de cursos.
Diagonal lleva el nombre de GRUB hoy va a ser MX con GM globalmente.
La versión 1.0 y dejamos el nombre del paquete vacío y damos fuguen finalizar bien como siguiente paso
vamos a crear una clase que es la clase que vamos a estar comparando cuando trabajemos con la clase
obvie.
Así que sobre nuestro proyecto damos un derecho new Java class el nombre de la clase va a ser empleado
y la depositamos en el paquete de dominio y luego en finalizar
quitamos estos comentarios
ampliamos nuestro código y vamos a agregar los siguientes atributos de nombre y sueldo a nuestra clase
de empleado.
Van a ser de tipo privado el primer atributos de tipo string llamado nombre y el siguiente atributo
es privado de tipo Nobol llamado sueldo.
Posteriormente agregamos un constructor que va inicializar este objeto utilizando los dos atributos
así que creamos un constructor público recibe los dos argumentos
de nombre y sueldo respectivamente y los vamos a utilizar para inicializar los atributos de nuestra
clase el atributo de nombre y el atributo de sueldo
ahora vamos a agregar los métodos jet set de cada atributo damos un derecho Intercorp
damos clic en generar Guedea acceder y seleccionamos los dos atributos.
Hasta aquí es mucho de lo que hemos trabajado con nuestras clases pero en esta lección cómo vamos a
trabajar también con conceptos de la clase Object.
Vamos a sobreescribir los métodos destruí y quals y Skout así que vamos a hacer lo siguiente damos el
derecho insert y vamos a sobreescribir.
El método autodestruyen de la clase obvie este método nuestro en Yale hemos trabajado en elecciones
anteriores pero hasta este momento vamos a entender por completo cómo funciona este método autodestruye
realmente lo que vamos a hacer es sobreescribir el método string de la clase Object.
Así que estamos heredando este método pero si lo escribimos entonces podemos modificar el comportamiento
por default de la clase obvie seleccionamos los dos atributos que queremos mandar a imprimir y damos
Figa en general.
Podemos observar que no se agrega la notación de Berruguete para indicar que estamos escribiendo el
método de la clase obvie la firma del método es públic regresa un objeto de tipo string el método se
llama autodestruyen no recibe ningún argumento y posteriormente el cuerpo del método únicamente lo que
hace es regresar una cadena.
Si vamos a la implementación por default de la clase Objet podemos dar clic derecho digamos que nave
gay y damos siguen gatos super Implementation en dado caso que no habría este código.
Entonces pueden revisar el Java Doc directamente en Internet ya que esta documentación es el mismo que
está publicado en Java doc del JDK así que podemos observar que la implementación definida en la clase
Object es decir en la clase padre de la clase empleado es este código en el cual imprime el nombre de
la clase.
Posteriormente agrega una arroba y posteriormente lo que hace es concatenar el valor del jazz de nuestra
clase.
Ahora el valor de Jacob es un número que está relacionado con la ubicación de memoria de nuestra clase
pero solamente en este caso hablando de la implementación de la clase obvie nosotros vamos a implementar
a continuación también el método Jarkov y va a ser diferente si damos clic sobre el método Jacob podemos
observar que este es un método nativo.
Esto quiere decir que este método no podemos observar la implementación ya que depende del sistema operativo
y la plataforma en la cual estemos trabajando.
Pero básicamente este método Jacob va a regresar un número único para cada objeto que se cree.
Así que esa es la implementación de la clase padre y eso es lo que estamos haciendo es sobrescribir
el método string de la clase padre de la clase obvie.
Por lo tanto ya no vamos a observar la dirección de memoria de la clase padre sino que vamos a ver la
clase empleado con los atributos de nombre y sueldo.
Si quisiéramos ver además la dirección de memoria entonces tendríamos que hacer lo siguiente Super Punto
string y con eso estaríamos viendo primero la dirección de memoria de nuestro objeto es decir el valor
de Jarkov implementado por la clase obvia y posteriormente estamos concatenando los valores de los atributos
de nuestra clase que estamos implementando así que esa es la definición del método destruí que básicamente
regresa una representación en una cadena de los valores de nuestro objeto y en cualquier momento que
mandemos a llamar.
Este método entonces imprime el estado de nuestro objeto ya que imprime los valores de los atributos
de nuestra clase.
Por otro lado lo que vamos a hacer es implementar ahora los métodos y quals y Skout estos dos métodos
son como métodos hermanos y aunque el compilador no nos va a marcar error si es que no implementamos
ambos métodos la recomendación de lapida IAVA nos indica que debemos de implementar el método ICASS
y a la vez el método scout.
Si vamos a implementar uno entonces tenemos que implementar ambos.
Esto debido a que tiene varias ventajas.
Por ejemplo en algoritmos de ordenamiento si agregamos esta clase utilizando el API de conexión que
vamos a ver posteriormente y aplicamos algunos algoritmos de ordenamiento entonces se utilizan los métodos
y las hijas scout para ordenar los objetos dentro de una colección.
Sin embargo eso lo vamos a ver más adelante pero para ello es que se utilizan estos métodos y las hijas
scout para ello es que los vamos a sobreescribir bien así que vamos a sobreescribir el método y quals
para sobreescribir lo podemos escribir directamente el código o podemos apoyarnos decide la implementación
de cada idea puede ser distinta pero el objetivo es el mismo.
Así que en este caso vamos a apoyarnos de Lide vamos a dar clic derecho Intercorp y seleccionamos la
opción de ICAS y Scout podemos observar que nos selecciona ambos métodos nos muestra ambos métodos y
nos pregunta cuáles son los campos que vamos a incluir en la comparación de estos objetos ya que el
método y las hijas scout lo que va a hacer internamente es comparar los objetos de tipo empleado así
que vamos a comparar dos objetos de tipo empleado y seleccionamos los atributos que vamos a comparar.
En este caso vamos a seleccionar los dos atributos así que seleccionamos los dos atributos tanto para
el método y quals y para el método Jacquot y damos clic en generar y podemos observar que el Método
Scout lo que hace es un método público y regresa un entero así que el Método Scout lo que hace es regresar
un valor de tipo entero que representa al objeto que se cree.
En cierto momento habrá cómo consigue un valor único lo que hace es utilizar un algoritmo muy simple
en el cual utiliza el concepto de hojas que básicamente es cualquier número.
En este caso le asignó el valor de 7 pero puede ser cualquier otro número y con este número lo que se
intenta es conseguir un valor único para cada objeto.
Posteriormente hace una operación en este caso utiliza el valor de 59 simplemente para tratar de generar
un número único.
Así que utiliza 59 por el valor de hojas más el Jakobs del valor del atributo de nuestra clase utilizando
el atributo de nombre y para obtener el scout del atributo de nombre utiliza la clase Objects y manda
llamar El Método Scout y la pausa como parámetro el valor del atributo nombre.
Hasta aquí lleva cierto valor numérico el valor de jazz hasta este momento utilizando el atributo de
nombre y la siguiente línea lo que hace es utilizar ahora el atributo de sueldo y le aplica una operación
binaria la cual estamos observando y con esta operación binaria también lo que se intenta es conseguir
un valor entero único para cada uno de los objetos que estamos utilizando.
Aquí lo importante es que interviene el atributo de sueldo para realizar esta operación.
Realmente no es necesario realizar esta operación binaria simplemente que lo que se está intentando
es conseguir un valor único para cada objeto que se cree.
Ahora existe la posibilidad de que este valor realmente no sea único.
Este valor entero que se regrese podría repetirse para diferentes objetos de tipo empleado que se creen.
Sin embargo la idea es conseguir lo más posible y evitar que los valores cascó se repitan para los objetos
que vamos a estar creando.
Aunque es posible que se repitan con esta operación que se está realizando se disminuye al máximo la
posibilidad de que se repita el número entero para diferentes objetos de la clase empleados.
Así que básicamente el método Jacquot.
La idea es conseguir un valor entero único para cada objeto que estamos creando.
Por ello es que están involucrados los atributos de nombre y sueldo ya que se supone que para cada objeto
de tipo empleado los valores de nombre y sueldos son distintos.
Si llegaran a ser iguales entonces el casco debería de ser idéntico eso lo vamos a poner en práctica
cuando creamos la clase de prueba de este ejercicio y como siguiente paso se define el método y cuál
es el método y cuál es lo que va a hacer es regresar un Juliano y este Juliano indica si los objetos
que se están comparando son iguales o son diferentes.
Así que por un lado se va a comparar el objeto en el cual estamos trabajando y va a recibir como argumento
un objeto con el cual se va a comparar.
Primero se compara la referencia.
Si las referencias son iguales entonces quiere decir que los objetos son iguales.
Así que en este momento regresaríamos verdadero.
Ahora si el objeto que estamos recibiendo es igual a nulo entonces quiere decir que los objetos son
distintos ya que en este caso no habría nada más que comparar los objetos serían distintos.
Por lo tanto regresaríamos falso también comparamos si las clases el tipo de clase que se está utilizando
se está comparando son distintos entre cada uno de los objetos.
Entonces regresamos falso ya que tampoco no hay nada más que comparar.
Las clases son distintas y si hemos llegado hasta este punto de la comparación entonces lo que tenemos
que hacer es una conversión del objeto que estamos recibiendo que es de tipo Object lo vamos a convertir
a tipo empleado para que podamos comparar estos objetos así que le asignamos a una variable de tipo
empleado llamada Poder esto de igual manera todo lo hizo el IDE para realizar esta comparación y pregunta
si el valor de sueldo es diferente al sueldo del otro objeto que estamos recibiendo.
Si los valores son diferentes entonces regresa falso ya que los objetos con un atributo que tenga distinto
quiere decir que el contenido de los objetos son distintos.
En dado caso de que sean iguales entonces continúa con la comparación y ahora pregunta utilizando el
método de la clase objects.
Pregunta si el atributo de nuestra clase que estamos comparando con la otra clase que estamos recibiendo.
Si estos valores de nombre son diferentes entonces regresa falso.
De lo contrario si llegamos hasta este punto de la comparación quiere decir que los atributos de sueldo
y nombre son iguales.
Por lo tanto lo que va a hacer es regresar verdadero así que podemos observar que este método es realmente
lo que está haciendo es comparar los valores de los atributos de la clase empleado.
Por ello están comparándose el atributo de sueldo y nombre respectivamente y si los atributos son iguales
entonces regresamos verdadero.
Si son diferentes entonces regresamos falso.
En esto podemos resumir el método y únicamente compara si los atributos de nuestra clase del objeto
que estamos comparando con los valores del objeto que estamos recibiendo si son iguales entonces regresa
verdadero y si la comparación de cada uno de los atributos es diferente entonces regresa falso.
Hasta aquí la explicación de cada uno de los métodos y estos métodos están definidos en la clase obvie.
Así que por ello todos estos métodos destruyen a Skout e igual los estamos escribiendo de la clase o
bien bien vamos a detener hasta aquí este vídeo y en el siguiente vídeo vamos a crear la clase de prueba
para poner en práctica estos métodos.
Nos vemos en el siguiente vídeo.
Saludos.