lunes, 22 de octubre de 2012

Objetos y Clases

Cuando escribes un programa de computación en un lenguaje orientado a objetos, estás creando en tu computadora un modelo de alguna parte del mundo real. Las partes con que se construye el modelo provienen de los objetos que aparecen en el dominio del problema. Estos objetos deben estar representados en el modelo computacional que se está creando.

Los objetos pueden ser organizados en categorías y una clase describe, en forma abstracta, todos los objetos de un tipo particular.

Podemos aclarar estas nociones abstractas mediante un ejemplo.

Supón que deseas modelar una simulación de tráfico. Un tipo de entidad con la que tendrás que trabajar es autos. ¿Qué es un auto en nuestro contexto?, ¿Es una clase o es un objeto? Algunas preguntas nos ayudarán a tomar una decisión.
  • ¿De qué color es un auto?
  • ¿Cuán rápido puede correr?
  • ¿Dónde está en este momento?


Observarás que no podemos responder estas preguntas a menos que hablemos de un auto específico. La razón es que, en este contexto, la palabra "auto" refiere a la clase auto, puesto que estamos hablando de los autos en general y no de uno en particular.

Si digo "Mi viejo auto rojo se encuentra estacionado en el garaje de la casa", podemos responder todas las preguntas anteriores: este auto es rojo, no marcha demasiado rápido y está en mi garaje. Ahora estoy hablando de un objeto, un ejemplo particular de un auto.

Generalmente, cuando nos referimos a un objeto en particular, hablamos de una instancia. De aquí en adelante usaremos regularmente el término "Instancia". Instancia es casi un sinónimo de objeto. Nos referimos a objetos como instancias cuando queremos enfatizar que son de una clase en particular (como por ejemplo, cuando decimos "este objeto es una instancia de la clase auto").



Fuente:
POO con Java, una introducción usando BlueJ

No hay comentarios:

Publicar un comentario