Típico que te preguntan: ¿Qué es un objeto en la programación
orientada a objetos? A lo que tú automáticamente respondes.
Es una instancia de una clase.
Y te contestan… perfectamente bien contestado.
Pero seamos sinceros, ¿realmente conocemos el trasfondo de esa respuesta?
Al menos en mi caso, esa fue una respuesta para el examen de
la primera unidad de programación orientada a objetos en la escuela, fue
memorizada y así se respondió sin comprender todo lo que implica dicha
respuesta.
Para esto tenemos que repasar un poco cual es la sintaxis
para declarar un objeto.
Para lo cual utilizaremos una clase llamada Persona
codificada en C#, les pongo a continuación el código fuente:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
EjemploClases
{
class Persona
{
public
Persona()
{
}
public string Nombre { get; set; }
public char Genero { get; set; }
public DateTime FechaNacimiento { get; set; }
}
}
Para declarar un objeto basta poner el tipo, será nuestra
clase Persona:
Persona persona;
Notece lo siguiente, aun no se ha hecho la
instancia del objeto persona, solo esta declarada, al momento de hacer la
instancia es cuando utilizamos la palabra reservada new
Es decir, al decir que nuestro objeto persona fue
instanciado es por que hicimos lo siguiente:
persona = new Persona();
Automáticamente aquí el .net Framework va a la memoria RAM o
al Heap a cargar nuestro objeto persona, y es en ese momento donde persona esta
cargado en memoria, es decir, que persona y a es una instancia de nuestra clase Persona.
E ahí porque un objeto es una instancia de una clase.