Saltar la navegación

4.- Utilización de objetos.

Caso práctico

María sigue fuera de la oficina. Esta noche en casa quiere repasar conceptos sobre Programación Orientada a objetos, así que aprovecha un momento para llamar a Juan y le comenta:

-Ya sé todo sobre objetos -le dice- sólo que...

-¿Solo qué? -añade Juan.

-Solo me falta saber... ¿cómo se crea un objeto?

Juan sonríe ante la pregunta de María, y le explica que los objetos se crean como si fuera declarando una variable más, tan sólo que el tipo de datos de dicho objeto será una clase. Tras declararlos hay que instanciarlos con la orden new para reservar memoria para ellos, y después ya podremos utilizarlos, refiriéndonos a su contenido con el operador punto.

-Te mando un documento por email que lo explica todo muy bien.

-¡Ah, gracias! Esta noche le echo un vistazo -añade María.

Una vez que hemos creado una clase, podemos crear objetos en nuestro programa a partir de esas clases.

Cuando creamos un objeto a partir de una clase se dice que hemos creado una "instancia de la clase". A efectos prácticos, "objeto" e "instancia de clase" son términos similares. Es decir, nos referimos a objetos como instancias cuando queremos hacer hincapié que son de una clase particular.

Los objetos se crean a partir de las clases, y representan casos individuales de éstas.

Imagen de varias galletas hechas con diferentes moldes.
Medea material (CC BY)


Para entender mejor el concepto entre un objeto y su clase, piensa en un molde de galletas y las galletas. El molde sería la clase, que define las características del objeto, por ejemplo su forma y tamaño. Las galletas creadas a partir de ese molde son los objetos o instancias.

Otro ejemplo, imagina una clase Persona que reúna las características comunes de las personas (color de pelo, ojos, peso, altura, etc.) y las acciones que pueden realizar (crecer, dormir, comer, etc.). Posteriormente dentro del programa podremos crear un objeto Trabajador que esté basado en esa clase Persona. Entonces se dice que el objeto Trabajador es una instancia de la clase Persona, o que la clase Persona es una abstracción del objeto Trabajador.

Cualquier objeto instanciado de una clase contiene una copia de todos los atributos definidos en la clase. En otras palabras, lo que estamos haciendo es reservar un espacio en la memoria del ordenador para guardar sus atributos y métodos. Por tanto, cada objeto tiene una zona de almacenamiento propia donde se guarda toda su información, que será distinta a la de cualquier otro objeto. A las variables miembro instanciadas también se les llama variables instancia. De igual forma, a los métodos que manipulan esas variables se les llama métodos instancia.

En el ejemplo del objeto Trabajador, las variables instancia serían color_de_pelo, peso, altura, etc. Y los métodos instancia serían crecer(), dormir(), comer(), etc.

Autoevaluación

Pregunta 1

Las variables instancia son un tipo de variables miembro.