Continuamos con el curso de Programación Orientada a
Objetos, después de un primer capítulo de introducción donde podíamos comenzar
a ver las virtudes de este paradigma y también después de segundo capítulo
donde veíamos el concepto de clase, ahora toca ver lo más importante, los
objetos.
Foto tomada de freedigitalphotos.net |
¿Qué es un objeto?
Definiciones de Objeto en Programación Orientada a Objetos
hay muchas, pero sobre todo nos quedaremos con la siguiente:
Un objeto es toda aquella entidad que posee
características y comportamientos definidos.
Un objeto puede ser cualquier cosa, desde algo físico y
material como una silla o un perro, como algo conceptual, como por ejemplo un
componente que se encargue de conexión a internet.
En Programación Orientada a Objetos un objeto es la
instancia de una clase. Con la clase definimos un grupo o molde sobre el cual
se crea un objeto. Dicho de otra forma, la clase es el molde y el objeto es el
pastel que preparamos en él.
¿Qué tiene un objeto?
Un objeto, al igual que una entidad del mundo real, tiene
características propias y su propio comportamiento, a esto lo llamaremos Datos
y Métodos.
Imaginemos por un momento a un objeto de la Clase Silla,
ese objeto será una silla de madera. Pues bien, los datos que podemos tener de
ese objeto pueden ser el color, el material, número de patas, el peso, etc.
También podemos definir métodos para ella como por ejemplo cambiar la posición,
guardarse, sacar, etc.
Otro ejemplo posible es el del objeto Perro, podemos instanciarlo
desde una clase Cánido y definirle con los datos color, raza, tamaño, etc.
Podemos definir sus métodos como ladrar, nadar, andar, comer, beber, etc.
Objeto y Clase.
Otra de las definiciones formales que podemos darle a
Clase y Objeto es que la Clase es un nuevo tipo de dato que nosotros mismos
configuramos y programamos, y un Objeto es una declaración de esa clase, al
igual que hacíamos con las variables y tipos de datos en C.
Cuando definimos un tipo de dato al declarar una variable,
estamos definiendo un rango de valores, unos comportamientos posibles, etc. Y
es esa variable la que utiliza esas características del tipo de dato del que se
ha declarado.
Objeto como entidad inmaterial.
Cuando declaramos (o mejor dicho, instanciamos) un objeto
estamos definiendo un espacio de memoria y lo reservamos, en él hemos declarado
una estructura que se basa en la definición de su clase, esto es, una serie de
operaciones y de atributos con los que podemos trabajar.
En el curso básico de C pudimos ver el tema de las
estructuras de datos, en ese apartado podíamos declarar una serie de tipos de
datos que funcionaban como un conjunto completo, y cuando trabajábamos con él
trabajábamos sobre el conjunto. Pues un objeto es igual salvo que en esa
estructura (definida en la clase) también podemos programar procedimientos y
funciones característicos.
Conclusión.
Un objeto es la declaración de una clase, la cual es una
estructura de datos y procedimientos y funciones.
Instanciar objetos basados en clases, operar con ellos y
definir multitud de funciones y datos característicos es algo que dentro del
paradigma de Programación Orientada a Objetos debe quedar muy claro
desde el inicio en que se comienza a programar.
En éste capítulo hemos podido ver el concepto de Objeto,
la forma en que actúa, lo que es con respecto a una Clase y su semejanza con el
concepto de estructura de datos en C.
En el siguiente capítulo veremos un concepto que tocamos
brevemente en el capítulo anterior, el tema de la herencia de clases,
subclases, superclase, etc. Un concepto que dará potencia y definición a las
clases y gracias a la cual nos ahorraremos multitud de código que programar.
¿Qué es para ti una Objeto?