Lo primero que se nos ocurre preguntar es: ¿qué es un objeto? La respuesta es muy simple, bastará con mirar a nuestro alrededor para ver que estamos rodeados de objetos. Y extendiendo sólo un poco más la idea, notamos que a estos objetos les asignamos sustantivos para poder nombrarlos y diferenciarlos unos de otros. Por ejemplo, si vamos a un aeropuerto, veremos aviones, automóviles, taxis, etc. Todos
éstos son objetos; sin embargo, si observamos más detalladamente, notaremos que estos objetos tienen propiedades o atributos en común: poseen motor, ruedas y asientos, pero también se diferencian; por ejemplo, el avión puede volar y el auto no. Es decir, vemos que los objetos tienen un comportamiento propio. De esta forma podemos definir a un objeto como una entidad compleja provista de propiedades (datos, atributos) y comportamiento (funcionalidad, métodos). Tomando en cuenta estas características, es conveniente afirmar que también representan
objetos reales del mundo que nos rodea y palpamos cotidianamente.
Cada objeto expone una interfaz a otros objetos que especifica cómo éstos pueden interactuar con él, cómo pueden comunicarse con él. Esta interfaz está dada por un conjunto de métodos; así es como la interfaz del automóvil estará formada por los métodos “arranca”, “frena”, “dobla”, etc., a través de los cuales podemos interactuar con el objeto.

Por otro lado, cabe aclarar que el comportamiento es exclusivo del objeto; si bien algunos objetos a simple vista son iguales, internamente pueden ser muy distintos.
Por ejemplo, si aprendemos a manejar en un automóvil con motor diesel, podremos sin ningún problema manejar uno que funcione con nafta. Es decir, los dos objetos se nos presentan de igual forma, pero es indiscutible que los motores son muy distintos. Esto se conoce como encapsulamiento: los objetos presentan la misma interfaz pero ocultan información de su funcionamiento.
Gracias al encapsulamiento se puede cambiar un objeto por otro que presente la misma interfaz, y todo debería funcionar igual.
En segundo lugar vale mencionar que el encapsulamiento protege también al objeto de usos indebidos e inapropiados. Volvamos al ejemplo anterior para detallar un poco más esta situación. El automóvil utilizará otros mecanismos para llevar a cabo su interfaz, como, por ejemplo, abrir válvulas, mover pistones, etc., que no les permitirá usar a otros objetos.

Por lo general, cuando definimos un objeto lo hacemos en función de otros objetos conocidos. Si alguien nos habla de un objeto en particular cuyo nombre no conoce, instantáneamente empezará diciendo “es como…” para describirlo y luego deberá agregar las características particulares del objeto que desea que identifiquemos. En el ejemplo del automóvil, podría decir “es como un taxi, pero más chico”, o “es
como una moto, pero tiene cuatro ruedas”… Es decir que define al automóvil a través de objetos de similares características. Sin darnos cuenta hacemos clasificaciones; ahora, generalizando, nos damos cuenta de que todos son transportes.

En el paradigma de objetos esto se conoce como herencia, y sirve para no tener que definir comportamientos de forma repetitiva.
Desarrollemos el ejemplo; en nuestro caso tendremos un objeto transporte, que tendrá propiedades como cantidad de pasajeros, cantidad de puertas, etc., y métodos como anda, frena y dobla. De esta manera definiríamos un automóvil como un transporte, agregando las particularidades del automóvil que no estén definidas en transporte.
Ahora que sabemos agrupar los objetos en clases, podríamos agregar más objetos a nuestro modelo. Para seguir con el ejemplo, pensemos en el objeto avión: sin lugar a dudas, es un transporte; es decir que las clases simplemente son conjuntos de objetos que comparten propiedades y comportamientos.
Al agregar el objeto avión definido como un transporte, heredará de éste las propiedades (cantidad de pasajeros, cantidad de puertas) y los métodos (anda, frena y dobla). Si explotamos aún más el ejemplo, notamos que no es lo mismo.

hacer andar un automóvil que un avión, de forma tal que necesitamos agregar el método anda en automóvil, para que ruede, y en avión para que vuele. Esto se denomina polimorfismo, y nos permite tener muchas formas de comportamiento; o sea que la referencia al método anda producirá el comportamiento correcto según el objeto al que se lo esté ordenando.
Para ordenarle a un objeto que haga algo, debemos mandarle un mensaje. A través de los mensajes establecemos la comunicación entre los objetos de forma tal que les ordenamos ejecutar un método con algunos parámetros. En la Figura 2 veíamos que el conductor le ordenaba al auto que arrancara; esta orden se la daba a través de un mensaje.

Revisando el ejemplo del transporte, el automóvil y el avión, notamos que el gráfico evidencia una jerarquía: a la cabeza está el transporte, y de éste cuelgan el avión y el automóvil. En este paradigma, esto se denomina jerarquía de herencia . Notamos, también, que dicha jerarquía siempre tiene forma de árbol. Entonces encontramos una nueva agrupación de nivel superior. En resumen, los objetos se agrupan en clases, y las clases, en árboles, siempre y cuando reflejen un comportamiento común.

El automóvil, aparte de ser un objeto y además de ser un transporte, también está compuesto por más objetos con comportamientos distintos. Es decir, el automóvil está compuesto por un volante, una radio, pedales, una caja de cambios, etc.

Pero, a su vez, la radio tiene otros componentes, como display, botones, etc. Al igual que en otros ámbitos, aquí nos encontramos ante una jerarquía de elementos. Ésta se denomina jerarquía de composición, y sirve para representar que uno o varios objetos están dentro de otro que los contiene.

Para finalizar, si tenemos un solo objeto automóvil, no significa que nuestro programa podrá tener un solo automóvil. Para entender esto hay que agregar el concepto de instancia, que nos permite crear la cantidad de automóviles que deseemos. Por ejemplo, si nuestro objeto automóvil tiene una propiedad color, podemos tener instancias de automóvil con la propiedad color en rojo, azul o verde. Para lograr esto, cada objeto deberá tener un método, que nos permita crear una instancia de éste.

 

En España el 76% de las empresas prohiben entrar a redes sociales a sus empleados La penetración de las redes sociales en la sociedad española es innegable, con usuarios accediendo a ellas de forma diaria. Eso sí, el acceso no se ha...
Hotmail, Yahoo Mail y Gmail sufren cyberataques La compañía especializada en seguridad Trend Micro ha dado a conocer una reciente campaña de ataques contra los tres principales servicios webmail. ...
Product Images In Invoice (VQMod) Opencart Module Product Images In Invoice (VQMod) This Mod Requires VQMod To Work This modification displays products images in the order invoice. Features: ...
K Computer, la supercomputadora más rápida La máquina de cómputo más veloz del planeta se llama K Computer, vive en Japón, es operada por una versión especial de Linux, y acaba de romper un...
Ranking Buscadores Noviembre 2011 Pese al crecimiento experimentado el pasado mes de octubre por el motor de búsqueda de Microsoft que dio pie a ciertas interpretaciones acerca de una ...
Que es un Tablet PC Una tableta o tablet PC (computadora personal en tableta) es una computadora portátil con la que se puede interactuar a través de una pantalla táctil ...
Twitter trae nuevos emojis basados en Star Wars Twitter ha dado a conocer algunos nuevos emojis basados en Star Wars: The Force Awakens. La famosa red de microblogging ha indicado que estará lan...
Realizar ventas sin buscadores Imagínate que un día entras en tu PC, te conectas a Internet y vas a Google.com. Haces una búsqueda de tu Web por algunas palabras clave que te ti...
Bordes con CSS CSS permite definir el aspecto de cada uno de los cuatro bordes horizontales y verticales de los elementos. Para cada borde se puede establecer su a...
¿QUÉ SON LOS ALGORITMOS? Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea, la cual, dado un estado inicial, culminará por arrojar un esta...
Propiedades y comportamiento de los objetos
Tagged on: