Pages - Menu

viernes, 21 de junio de 2013

Curso de Programación Orientada a Objetos 3/6: Objetos

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.

Curso Programación Orientada a Objetos 3/6: 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?