Vous êtes sur la page 1sur 5

TEMA 1: OBJETOS Y CLASES

1. Objetos y clases.
Podemos entender una clase como una serie de características que tienen en común un
conjunto de cosas (abstracción de un conjunto) y un objeto como un caso concreto de esa
clase (se asignan valores concretos a cada una de las características).
Veamos el siguiente ejemplo:

Conjunto de animales Abstracción de características de animales ¿Qué


tienen en común?
Perro  N.º de Patas (de 0 a 100)
Gato  ¿Tienen Columna vertebral? (Vertebrados o
Caballo invertebrados).
Atún  ¿Cómo nacen? (Ovíparos, vivíparos)
León  ¿Su alimentación? (Carnívoro, Herbívoro u
Serpiente Omnívoro).
Gusano
Águila NOTA: Los valores en verde y negrita son los
Golondrina valores que puede adquirir cada pregunta.

Como vemos, hemos hecho una lista de algunos de los elementos que tienen en común el
mundo animal, viéndolo desde un punto de vista más general(abstracción).
La abstracción, es la capacidad de ignorar los detalles(que atributos concretos tiene cada
característica para cada animal) de las distintas partes, para centrar la atención en un nivel
superior del problema(características de todos los animales, visión más general). Esta
abstracción la podemos denominar clase animal.
Cuando asignamos valores concretos a cada característica de la clase animal, por ejemplo,
(un animal con 4 patas, vertebrado y vivíparo), ya podemos afirmar que estamos hablando
de un objeto.
Podemos afirmar que un objeto de la clase animal es lo mismo que decir, una instancia de la
clase animal.

2. Creación de objetos (EN BLUE J).


Este epígrafe es para familiarizarnos con BLUE J. Por tanto, se recomienda el usa de el
epígrafe A (está subido en el DOC de POO),
En blue J cada cuadradito de los que vemos en la anterior imagen representa un clase, si
hacemos clic derecho en el cuadradito, nos saldrá un menú desplegable, haciendo clic en la
opción new Nombre_Clase(), crearemos un nuevo objeto, el sistema nos pedirá un nombre
para el nuevo objeto, el nombre que viene por defecto es válido.
Denominamos banco de objetos, a aquella zona del sub-programa donde están las instancias
de todas las clases (rectángulos rojos que representan objetos).

3. Invocación de métodos.
Cada objeto a aparte de tener unas cualidades fijas también podrá tener cualidades
variables, es decir, que dada una determinada acción estas cualidades se vean alteradas. A
estas acciones las podremos llamar métodos (concepto de función o procedimiento dentro
de un TAD en FP), los cuales, alteran elementos de un objeto, bien sea, dado unos
parámetros recibidos (argumentos de sub-programas en FP) o sin recibir ningún
parámetro.
En el banco de objetos, si hacemos clic derecho encima de un objeto, nos aparecerá un menú
desplegable con todos los métodos que se pueden invocar en esa instancia.

Método que cambia el color del círculo.


Método que cambia el tamaño del círculo.
Método que no muestra el circulo en consola.
Método que muestra el circulo en consola.

Método que mueve el circulo a la derecha.

Podremos hacer una invocación a un método, simplemente haciendo clic sobre la opción
deseada del menú desplegable.

4. Parámetros.
Cuando un método requiere valores adicionales para poder ejecutar una acción, a esos
valores los denominaremos parámetros. En el caso del objeto con el que estamos
trabajando, los métodos changeColor, changeSize, moveHorizontal, moveVertical…etc.
Necesitan recibir un dato aportado por el usuario para ejecutar la acción.
Además, como podemos apreciar en el menú despegable que aparece al hacer clic derecho
en la instancia de un objeto, en algunos métodos aparecen entre paréntesis el tipo de dato
que espera recibir ese método. Por ejemplo, ChangeColor espera recibir un String(cadena
de caracteres entre “”) que indique el color al que se quiere cambiar el círculo.
void moveHorizontal (int distance)

A esta línea de código, la denominaremos cabecera de método, en la que se puede apreciar


el nombre que se ha asignado al método, el tipo de dato(int, floar, char…etc) de los
parámetros que este espera recibir y que identificadores les atribuye a cada uno de los
parámetros. A todo esto, lo podremos denominar también signatura del método.

5. Tipos de datos.
Un tipo de dato especifica el rango o conjunto de valores que puede tener un determinado
parámetro. Los tipos de datos primitivos no están asociados con clases ni contienen
métodos, a continuación, mostraremos una tabla con todos los tipos de datos del lenguaje
Java.
TIPO DE DATOS RANGO DE VALORES
MINIMO MAXIMO
byte Entero con tamaño de un byte (8 bits) -128 127
short Entero corto (16 bits) -32768 32767
int Entero (32 bits) -2147483648 -2147483647
long Entero Largo(64 bits) -9,2 x1018 9,2 x 1018
float Coma flotante de simple precisión 1.4e-45 1.4e38
doublé Coma flotante de doble precisión 4.9e-324 1.79e308
char Un único carácter (16 bits)
boolean Valor booleano (true o false)

Si un método no tiene la necesidad de recibir un parámetro para poder realizar su tarea


completamente, su tesitura(cabecera) no contendrá nada entre los paréntesis ‘( )’.
Sin embargo, si tiene necesidad de recibir parámetros externos, cada parámetro estará
formado por (TipoDeDato Identificador). Además, los métodos podrán tener una gran
cantidad de parámetros, separados entre sí por comas ‘,’.

6. Instancias Múltiples.
Se pueden crear muchos objetos (instancias) a partir de una clase única y el hecho
de modificar uno de esos objetos concretos, no supone un cambio de las
características del resto de objetos de la misma clase.

7. Estado.
El estado de un objeto es el conjunto de los valores concretos que tienen asignados
cada uno de los atributos de ese objeto en un determinado momento. Para ver el
estado de un objeto, basta con hacer clic derecho sobre el objeto deseado en el banco
de objetos y seleccionar la opción “inspeccionar”.
Tras seleccionar esta opción, nos aparecerá un recuadro que nos mostrara los
valores que tienen asignado cada atributo del objeto, a esta vista ampliada del objeto
se le denomina inspector de objeto.
A cada atributo del objeto se le denomina campo (similar a un tipo struct en c). Todos
los objetos de una misma clase tienen los mismos campos. Por el contrario, los
objetos de diferentes clases pueden tener diferentes campos, igualmente podemos
afirmar que los métodos también son iguales en todos los objetos de una misma
clase, pero cuando se invoca un método este realiza su acción sobre el objeto
deseado y no sobre todos los objetos.
8. Código Java.
Programar en java consiste en escribir instrucciones para invocar métodos sobre los
objetos, es decir, no se invocan los métodos de manera interactiva como hemos visto
hasta ahora, sino que se escriben los comandos en forma textual.
Si seleccionamos la opción “Mostrar terminal” en el menú “Ver” aparecerá otra
ventana, posteriormente debemos seleccionar registras llamadas a métodos, esto
produce que por el terminal se muestre los comandos que se ejecutan cada vez que
se crea un objeto, se invoca un método…etc. Tras experimentar con esta nueva
información podremos apreciar que:
 Vemos en que consiste la creación y denominación de un objeto,
técnicamente lo que se está haciendo es almacenar un objeto en una variable.
Por ejemplo:
Square Square_1 = new Square();
Nombre_Clase Identificador_Objeto = new Nombre_Clase();

 Para la invocación de un método sobre un objeto se utiliza el siguiente


código:

Identificador_Objeto.Nombre_Metodo(Parámetros);

 Todas las instrucciones de java terminan en ‘;’.

Además, haciendo clic sobre la opción “mostrar teclado de código” en el menú “Ver”,
nos aparecerá un nuevo panel a la derecha del banco de objetos, en el que podemos
introducir código Java en formato texto, y en caso de estar bien escrito ejecutará la
ordenes que escribamos.

Nota: Se pueden ejecutar comandos que han sido enviados anteriormente, teniendo
el cursor de escritura activo en la consola y dándole a la flecha de arriba en el teclado.
Además, tenemos que tener en cuenta, que, al crear un nuevo objeto desde el teclado
de código, no nos aparecerá de manera visual en BLUE J

9. Interacción entre objetos.


Cabe destacar que los objetos pueden crear otros objetos y llamar a los métodos de
otros objetos. Normalmente el usuario se limita a iniciar el programa, lo cual, hace
que se cree un objeto y a partir de este objeto, se crean y se llaman a métodos de
otros objetos.

10. Código fuente.


Cada clase tiene un código fuente asociado, entiéndase como tal al texto que define
detalladamente cierta clase en código Java. Haciendo clic derecho en el rectángulo
que representa una clase podremos apreciar que nos dan la opción de elegir "Abrir
Editor" o haciendo doble clic en la clase vamos directos al editor.
El código fuente define los campos y métodos que tiene una clase y define también
que es exactamente lo que sucede cuando se invocan ciertos métodos.
Cuando editamos el código fuente de una cierta clase y salimos, el rectángulo
representa a esta clase aparecerá unas líneas diagonales sobre dicho rectángulo,
haciéndonos saber que la clase aún no ha sido compilada.
El compilador es un programa que traduce un lenguaje de alto nivel, como java
(compresible por humanos) a un lenguaje maquina (compresible para la maquina).
Por lo tanto, cuando editamos el código fuente, después tenemos que compilar.
NOTA: no es necesario guardar las modificaciones del código fuente, esto se realiza
automáticamente.

11. Valores de Retorno.

Ciertos métodos pueden devolver un valor como resultado. De hecho, la cabecera de


un método nos dice si devuelve o no un resultado y cuál es el tipo de resultado que
este método devuelve. En el ejemplo del proyecto "lab-clases", vemos que tras
compilar y crear una instacnia de la clase labClass y ejecutar el método getName(),
este nos devolverá un tipo de dato string. La cabecera de dicho método es:

String getName();

Tipo de dato que


devuelve el método.

La palabra void indica que un determinado método no devuelve nada. El tipo de


retorno de un método no forma parte de su signatura.

12. RESUMEN
 Clase: abstracción de un conjunto de elementos, dando lugar a una visión
más global de ese mismo conjunto de elementos.

 Objeto o Instancia: Un caso concreto de una clase, es decir, una clase en la


que cada una de sus características tiene un valor concreto. Los objetos
contienen:
o Campos: tipos de datos.
o Métodos: Los cuales pueden tener parámetros o devolver un
parámetro como resultado, tanto parámetros como resultado tienen
un determinado tipo de dato. Además, si el tipo de retorno es void, el
método no devuelve nada.
o Un estado, que refleja los valores concretos de las características de
un objeto en un determinado momento.
 Los objetos pueden crear otros objetos y llamar a métodos de otros objetos.
 Este libro se encargará de como escribir en código java, definiciones de
clases y el ensamblaje de dichas clases.

Vous aimerez peut-être aussi