JAVA: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS

Java es un lenguaje de programación que sigue el paradigma de orientación a objetos. Para ello antes de meternos en materia de código de Java es necesario conocer los elementos de la orientación a objetos y algunas cosas básicas de iniciamiento.
Básicamente podemos resumir la orientación a objetos como un conjunto de clases que intercambian mensajes entre si.

CLASES

Pero... ¿Y que es una clase?. Pues una clase es simplemente una estructura que describe el comportamiento y la forma de un tipo de objeto, y permite crearlo a partir de un constructor.

Cada clase tiene:
  • Estructura, formada por estado (atributos) y comportamiento (métodos)
  • Una forma de construir un objeto a partir de esta clase (constructores)
  • Relaciones con otras clases (herencia y composición)
Existen tipos de clases, como la abstracta, que veremos en posteriores entradas. Consultar Clases abstractas e interfaces.

OBJETOS

Tras esta definición nos asalta la duda: ¿entonces, qué es un objeto?. Un objeto es un elemento único e identificable que tiene una estructura de clase con características declarativas (estado) y procedimentales (comportamiento).

CLASES VS OBJETOS: Ejemplo

Una duda que suele pensar la gente es ¿cuál es la diferencia entonces entre un objeto y una clase?. Es más sencillo de lo que parece y con un ejemplo se entenderá muy bien.

Supongamos una clase rectángulo: Una clase rectángulo tiene una base y una altura, y con ella podemos calcular un área. Eso es una clase. Sin embargo, un objeto es un rectángulo de base 7m y altura 3m cuya área es 21m.
Se puede ver como si la clase fuese un modelo y el objeto sea su representación en la realidad.

IMPLEMENTACIÓN DE JAVA

Después de tanta teoría es necesario pasar a la acción viendo una clase directamente. En este caso he implementado una clase muy sencilla llamada CírculoExample:


No os preocupeis si no entendeis el código en si, solo es un primer esquema de la clase en Java. 
Fijaos que la clase se nombra con public (pública) class (clase) y el nombre empezando en mayúscula para distinguirlo de los métodos. Luego se abren llaves y se cierran al finalizar la definición de toda la clase.

Lo más importante de ver al principio es fijarse en que el código se estructura en 3 partes principales:

  • Atributos: aportan la información sobre las características de la clase. Un círculo contiene un número entero (int en lenguaje de programación) que representa el radio y un número real (double) que es una constante invariable que representa PI. Son las características que representan cualquier círculo que se cree.
  • Constructor: una función pública (public) que en futuras entradas del curso explicaremos, que permite crear un círculo a partir de su número de radio.
  • Métodos: son las funciones que permiten jugar con el comportamiento de la clase (círculo en este caso). En este caso tenemos un setRadio que sirve para cambiar el radio y no devuelve nada (void en programación), un getRadio que devuelve el radio de ese objeto, y perímetro y área que devuelven reales haciendo operaciones con ellos.
No es tan importante conocer el código en si en esta entrada, sino entender muy bien que es una clase y que es un objeto, y sus diferencias. Dentro de poco seguiré con este curso y empezaremos ya con las implementaciones en Java.

Comentarios