Hola te saluda Ubaldo Acosta bienvenida y bienvenido nuevamente.
Espero que estés listo para comenzar con esta elección.
Vamos a estudiar el tema de clases y objetos y esto como hemos comentado es la base de la programación
orientada a objetos.
Estás listo.
Vamos
objetos en Java.
Un objeto es la instancia de una clase es decir que a partir de nuestra plantilla es posible crear objetos
en concreto con los cuales podemos trabajar es decir cambiar sus valores y llamar a sus métodos.
Más adelante veremos que hay casos en los que podremos trabajar directamente con la clase.
A esto se le llama contexto estático pero de momento estaremos estudiando el contexto dinámico es decir
necesitamos crear una instancia de una clase para poder trabajar con ella.
Como podemos observar en la figura tenemos la clase de persona y a partir de esta plantilla podemos
crear objetos concretos para poder trabajar con sus características y atributos.
Por ejemplo hemos creado dos objetos de tipo personal y cada uno tiene características similares pero
con valores distintos.
Las características son por ejemplo nombre apellido color género escolaridad etc. y cada uno de los
objetos se les asigna estas características.
De esta manera la clase no sirve sólo para indicar qué características tendrán los objetos que vamos
a crear.
Veamos ahora la sintaxis para crear un objeto
para definir un objeto.
Vamos a utilizar la palabra reservada Niu esta palabra en Java significa en términos simples que vamos
a crear una nueva variable de tipo Persona para crear un objeto.
Vamos a utilizar una línea de código como sigue vamos a indicar el tipo es decir el nombre de la plantilla
o nombre de la clase.
Posteriormente el nombre de la variable que puede ser cualquier nombre posteriormente igual indicamos
el operador new y éste es el que nos va a permitir crear un nuevo objeto y posteriormente indicamos
nuevamente el tipo del cual queremos crear este objeto posteriormente vamos a ver que esto se le conoce
como constructor de la clase pero en este caso vamos a utilizar lo que se conoce como constructor vacío.
Esto simplemente nos va a permitir crear un nuevo objeto a partir de la plantilla o de la clase llamada
persona después de que esta línea se ejecuta la variable P1 podrá acceder a un objeto de tipo persona
cada vez que se manda llamar la palabra New.
Se creará un nuevo objeto de tipo personal y contendrá sus propios valores.
Por ejemplo podríamos definir un objeto llamado Persona
pero en este caso que sea una variable distinta un objeto distinto llamado P2 y cada que utilicemos
la palabra reservada New e indiquemos el tipo respectivo
estamos creando un nuevo objeto y esta variable básicamente es una referencia hacia el nuevo objeto
que hemos creado.
A continuación vamos a platicar más respecto a este concepto de referencias esta nueva variable P2 apunta
a un nuevo objeto de tipo personal y por lo tanto contendrá valores distintos a la variable P1.
Así cada nuevo objeto contendrá valores distintos en los atributos de nombre apellido paterno y apellido
materno que son los atributos que se definieron en la plantilla la sintaxis New persona hace referencia
al nombre de la clase de la cual queremos crear una nueva instancia es decir un objeto.
Además estamos haciendo uso del concepto de constructor de la clase como hemos comentado este concepto
lo estudiaremos más adelante.
Aquí solo debemos notar que para llamar al constructor de la clase se pone el nombre de la clase y posteriormente
se utilizan los paréntesis en este caso un constructor sin argumentos o también conocido como constructor
vacío.
Pero veremos posteriormente que podemos enviar argumentos al momento de crear un objeto en nombre de
la variable puede ser cualquiera que elijamos pero no debe tener caracteres especiales o espacios para
acceder a los atributos de nuestras clases.
Vamos a utilizar el operador punto.
Vamos a ver ahora cómo acceder a los valores de nuestra clase
para acceder a los atributos de nuestras clases.
Vamos a utilizar el operador punto a través de este operador se liga el nombre del objeto con el nombre
del atributo de la clase.
Por ejemplo podemos observar en nuestro código que tenemos la variable P 1 punto.
Este es el operador que nos va a permitir acceder a los atributos de nuestra clase en este caso al atributo
de nombre y le vamos a asignar el valor de Armando a este atributo y así con cada uno de los atributos
de nuestra clase podemos modificarlos de la misma forma por medio del operador punto indicando el nombre
de la variable del objeto que hemos creado.
Posteriormente el punto y finalmente el atributo o método que queremos utilizar de nuestra clase.
ELECCIONES POSTERIORES veremos en términos más técnicos lo que hace la palabra New pero para esta elección
es suficiente con saber que nos permite crear nuevos objetos más allá de la palabra Neo.
La palabra New solicita espacio de memoria de manera dinámica para poder almacenar un objeto.
Vamos a utilizar la sintaxis generalmente como sigue vamos a definir primero una variable que almacena
una referencia y posteriormente utilizar la palabra New indicando el tipo de la clase que vamos a crear
un objeto en la figura podemos observar que en primer lugar declaramos una variable de tipo de la clase
persona esta variable se llama p 1 y podemos observar que el efecto que esto tiene en la memoria aullaba
es que se crea espacio para esta variable llamada P1 pero esa variable aún no tiene ningún valor asignado
ya que solo se declaró la variable
en esta segunda sentencia podemos observar que además de declarar una variable de tipo personal llamada
P2 se le asigna la referencia de un objeto de tipo Persona para la creación de este objeto de ese tipo
de personas se utiliza la palabra Niu seguida del nombre de la clase de la cual queremos crear el objeto
y finalmente los paréntesis es el tipo de constructor que vamos a utilizar para la creación de este
objeto.
El concepto de constructor lo estudiaremos a detalle posteriormente pero sólo pensemos en el constructor
como la forma en que queremos crear nuestros objetos de manera inicial podemos crear por ejemplo un
objeto de tipo Persona ya con valores definidos como son nombre apellido etc. o como en este caso podemos
simplemente crear el objeto de tipo Persona sin proporcionar los valores de nombre y apellido y posteriormente
podremos cambiar y o asignar estos valores a los atributos de nuestro objeto de tipo persona
el efecto en memoria que tiene esta línea de código es que se crea un objeto pero esta variable P2 apunta
a un objeto de tipo Persona y este objeto es quien contiene finalmente los atributos de nombre apellido
etc..
Debemos aclarar que los tipos primitivos como no etcétera no son objetos por lo tanto para declarar
variables de estos tipos no se necesita utilizar la palabra reservada New recordemos que la palabra
Niu lo que hace internamente es solicitar espacio de memoria para la creación de un objeto.
Por lo tanto la palabra Nioh básicamente lo que hizo fue reservar espacio de memoria para crear este
objeto y una vez que se crea este objeto se asigna la referencia a esta variable persona de alguna manera
es el mismo efecto que se logra creando este objeto y asignando la referencia a la variable llamada
persona P2.
Y finalmente esta es la variable que nos va a permitir acceder a nuestro objeto que hemos creado así
que la palabra Niu lo que hace internamente es solicitar espacio de memoria para la creación de un nuevo
objeto.
Podemos crear tantos objetos como necesitemos.
Sin embargo la memoria es finita y por lo tanto podríamos recibir un error al momento de crear demasiados
objetos en tiempo de ejecución dentro de nuestros programas en temas posteriores veremos el manejo de
errores y cómo tratar los más comunes como la falta de memoria en Java.
En conclusión una clase define un nuevo tipo y un objeto es una instancia de este nuevo tipo que ya
se ha creado previamente.
Podemos crear tantos objetos del tipo creado como necesitemos esto con la ayuda de la palabra new
si recordamos elecciones previas mencionamos que el tipo string es una clase en Java pero con tratamiento
especial debido a que este tipo de dato se utiliza en repetidas ocasiones en nuestros programas.
Es posible omitir el uso de la palabra New y por lo tanto simplificar la creación de una variable de
tipo String.
De esta manera podemos omitir el uso de la palabra Neo
y también el constructor
podemos omitir la sintaxis mostrada ya que esa sería la sintaxis formal para crear un objeto de tipo
destruí.
Sin embargo podemos observar la sintaxis simplificada simplemente asignando una cadena.
Esta cadena crea un objeto en Java y se asigna la referencia a la variable.
Saludo.
Ambas opciones son válidas pero normalmente utilizaremos más la opción sin utilizar el operador neo
sólo no hay que olvidar que el tipo string es una clase y no un tipo primitivo.
Este tipo de dato es la única excepción a la regla para crear objetos utilizando el operador Nio.
Todas las demás clases deberán utilizar el operador Niu para poder crear un nuevo objeto.
Empezaremos a utilizar estos tipos de datos en nuestros siguientes ejemplos y así nos vamos a ir familiarizando
rápidamente con el uso del tipo string en Java y otros tipos que creemos.