Fundamentos de programación/Reconocimiento de Objetos y Clases

Reconocimiento de Objetos y Clases


Objetos: Los principios de la definición de objetos ayudan a los programadores a hacer un código más robusto, mantenible y seguro; porque se pueden aislar a cada uno de esos objetos y tratarlos como un ente único, con su propia personalidad, sin que haya cientos de características que tengamos que tener presentes, tal como se hacía en la programación orientada a procedimiento. Lo cual, desde el punto de vista económico, que nunca hay que dejar de tener presente, si resulta viable, ya que los objetos bien diseñados pueden ser utilizados en diversas aplicaciones, con lo cual el tiempo de desarrollo total se reduce.


En Java, un objeto se define como una estructura que encapsula atributos (datos de configuración, propiedades) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicación. Cada objeto tiene:

- Estado: Se compone de atributos (propiedades estáticas) y valor actual (valores dinámicos)

- Comportamiento: Representa cómo un objeto actúa y reacciona.

- Identidad: Cada objeto es único, ningún objeto es igual a otro.


A continuación se muestran algunas de las propiedades que se pueden aplicar a los objetos, tal como se han definido:

- Los objetos son cosas.

- Los objetos pueden ser simples o complejos.

- Los objetos pueden ser reales o imaginarios.


Casi todo puede ser considerado un objeto. El dinero, el helicóptero, una bicicleta, los perros, el coche. Los objetos representan cosas, simples o complejas, reales o imaginarias. Algunas cosas no son objetos, sino atributos, valores o características de un objeto. Es decir, no todas las cosas son objetos, ni son consideradas normalmente como objetos. Algunas de ellas son simplemente atributos de los objetos como el color, el tamaño y la velocidad. Los atributos reflejan el estado de un objeto, la velocidad del objeto “avión”, o el tamaño de un objeto edificio.

Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos.


Los objetos pueden tener partes públicas y privadas, a menudo llamadas miembros.

1.- Miembros Públicos: Los miembros públicos (interfaz o métodos) de una clase describen qué es lo que pueden hacer los objetos de esa clase.

2.- Miembros Privados: Describen la implementación, el cómo lo hace.


- Interacciones entre Objetos: Los objetos contribuyen al comportamiento del sistema colaborando con otros objetos. El modelado de objetos no sólo modela los objetos en un sistema, sino también sus interrelaciones. Para realizar su tarea, un objeto puede delegar trabajos en otro. Este otro puede ser parte integrante de él o ser cualquier objeto del sistema.

- Intercambio de Mensajes: Los objetos interaccionan enviándose mensajes unos a otros. El método de envío de mensajes depende de la naturaleza de los objetos modelados.

1.- Los objetos interaccionan por paso de mensajes.

2.- Un objeto envía un mensaje a otro.

3.- El otro puede contestar, cambiar su estado, o reaccionar de la manera apropiada.

4.- Los objetos sólo pueden interaccionar a través de su interfaz público.


Los Objetos de Software, al igual que los objetos del mundo real, también tienen características y comportamientos. Un objeto de Software mantiene sus características en una o más “variables”, e implementa su comportamiento con “métodos”. Un método es una función o subrutina asociada a un objeto.


Clases: En el mundo real, normalmente se tiene muchos objetos del mismo tipo. Por ejemplo: Un teléfono celular es sólo uno de los miles que hay en el mundo. Si se habla en términos de la programación orientada a objetos, se puede decir que el objeto celular de cualquier tipo es una instancia de una clase conocida como “celular”. Los celulares tienen características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos, etc.). Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que los celulares comparten características comunes y construyen modelos o plantillas comunes, para que a partir de esas se puedan crear muchos equipos celulares del mismo modelo. A ese modelo o plantilla se le llama Clase, y a los equipos que se sacan a partir de esta se le llaman objetos.

Esto mismo se aplica a los objetos de Software, se puede tener muchos objetos del mismo tipo y mismas características. Por otro lado, una instancia de una clase es otra forma de llamar a un objeto. No existe diferencia entre un objeto y una instancia. Sólo que el objeto es un término más general, pero los objetos y las instancias son ambas representación de una clase.


Instancia: Es un objeto de una clase en particular.