Fundamentos de programación/Reconocimiento de Objetos y Clases en el mundo real
Objetos
editarEn Java, un objeto se define como una estructura que encapsula atributos (características) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicación.
Características de los Objetos
editar- Estado: Conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este.
- Comportamiento: Relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos.
- Identidad: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto.
Los objetos, concretos y abstractos, están a nuestro alrededor, forman nuestro entorno. Podemos distinguir cada objeto en base a sus características y comportamientos.
Ejemplos
editarEn un aula de clases observamos los siguientes objetos:
• Alumno
• Profesor
• Mesa
• Silla
• Mesa banco
• Pizarrón
Interacción entre objetos: Los objetos no sólo tienen atributos relacionados con su forma física sino que, además, exhiben comportamientos específicos de su clase.
• Alumno: Estudia, aprende.
• Profesor: Enseña, evalúa.
• Mesa: Ordenada, desordenada.
• Silla: Ocupada, desocupada.
• Mesa banco: Ocupado, desocupado.
• Pizarrón: Pintado, borrado
Observamos que en el aula hay varios objetos alumno, por lo que pensamos en el grupo de alumnos, al que denominaremos como la clase alumno. De igual manera, cada materia es impartida por un profesor; el conjunto de profesores forman la clase Profesor. Pudiéramos extender nuestro análisis al pizarrón, la mesa, la silla,, al conjunto de mesa bancos, etc.
Clases:
editarEs la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase. Una clase es la descripción de un conjunto de objetos; consta de datos que resumen características comunes de un conjunto de objetos. Se pueden definir muchos objetos de la misma clase. Dicho de otro modo, una clase es la declaración de un tipo objeto. Las clases son similares a los tipos de datos y equivalen a métodos y plantillas que describen como se construyen ciertos tipos de objetos. Cada vez que se construye un objeto a partir de una clase estamos creando lo que se llama una instancia de esa clase. Por consiguiente, los objetos no son más que instancias de una clase, una instancia es una variable de tipo objeto. En general instancia de una clase y objeto son términos intercambiables.