Resumen: Entrega nº19 del curso "Aprender programación Java desde cero".
Codificación aprenderaprogramar.com: CU00619B

 

 

CONCEPTO DE OBJETOS Y CLASES EN JAVA. DEFINICIÓN DE INSTANCIA. EJEMPLOS

Hemos realizado una primera incursión en Java pero para proseguir se nos hace indispensable hablar de conceptos fundamentales de la programación orientada a objetos: objetos y clases. Estos términos parecen resultarnos familiares.

 

En la vida diaria podemos pensar en objetos como una manzana o un libro y podemos distinguir clases de cosas: por ejemplo clases de plantas. Sin embargo, en programación el término objeto y el término clase no guardan una correlación exacta con el significado de estas palabras en la vida diaria. Podemos buscar ciertas similitudes e incluso hacer analogías didácticas. Pero no trates de buscar siempre equivalencias entre objetos y clases en programación con objetos y clases de la vida diaria porque esa correspondencia exacta no existe y te llevará a confusión. Al escribir un programa en un lenguaje orientado a objetos tratamos de modelar un problema del mundo real pensando en objetos que forman parte del problema y que se relacionan entre sí. Daremos ahora una primera definición de objeto y clase, que tendremos que ir matizando conforme avancemos en el curso.

 

Objeto: entidad existente en la memoria del ordenador que tiene unas propiedades (atributos o datos sobre sí mismo almacenados por el objeto) y unas operaciones disponibles específicas (métodos).

 

Clase: abstracción que define un tipo de objeto especificando qué propiedades (atributos) y operaciones disponibles va a tener.

 

Estas definiciones son quizás poco clarificadoras. Con un ejemplo vamos a entenderlo mejor. En primer lugar pensemos en un programa que trata de gestionar datos sobre los vehículos de transporte público de una ciudad, por ejemplo México D.F.

 

 

En este ejemplo hemos considerado que el problema consta de tres tipos de vehículo: taxi, autobús y tranvía, y que esos tipos los denominamos clases. ¿Qué haríamos en Java para definir una clase? Indicar sus propiedades y operaciones (métodos) disponibles, por ejemplo:

/* Ejemplo Clase Taxi - aprenderaprogramar.com */

Clase Taxi {

Propiedades:

Matrícula identificativa

Distrito en el que opera

Tipo de motor diesel o gasolina

Coordenadas en las que se ubica

 Operaciones disponibles:

Asignar una matrícula

Asignar un distrito

Asignar un tipo de motor

Ubicar en unas coordenadas

}

 

 

El haber definido así el taxi significará que todo objeto de tipo Taxi que creemos tendrá una matrícula identificativa, un distrito en el que opera, un tipo de motor y unas coordenadas en las que se ubica. La creación de un objeto sería algo así como: “Crear un objeto Taxi con matrícula BFG-7452, distrito Norte, tipo de motor Diesel y coordenadas Desconocidas.”

El uso de una operación sobre un objeto sería algo así como: “Taxi BFG-7452 --> Ubicar en coordenadas (X = 128223, Y = 877533)”. Las operaciones en Java se denominan métodos, veremos cómo se definen más adelante.

Decimos que un objeto es una instancia de una clase. Por ejemplo el taxi matrícula BFG-7452 es una instancia de la clase Taxi. Varios objetos (p.ej. taxis) de una misma clase decimos que constituyen instancias múltiples de la clase. Más adelante veremos que tanto una clase como un objeto en Java pueden representar otras cosas además de lo que ahora hemos explicado, pero todo a su tiempo.

 

 

EJERCICIO

Considera que queremos representar mediante un programa Java los aviones que operan en un aeropuerto. Crea un esquema análogo al que hemos visto para vehículos, pero en este caso para aviones. Define cuáles podrían ser las clases y cuáles podrían ser algunos objetos de una clase. Para comprobar la corrección de tu solución puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

 

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: