TENESACA ASMAL

Java es un lenguaje de programación creado por Sun Microsystems, (empresa que posteriormente fue comprada por Oracle) para poder funcionar en distintos tipos de procesadores. Su sintaxis es muy parecida a la de C o C++, e incorpora como propias algunas características que en otros lenguajes son extensiones: gestión de hilos, ejecución remota, etc. El código Java, una vez compilado, puede llevarse sin modificación alguna sobre cualquier máquina, y ejecutarlo. Esto se debe a que el código se ejecuta sobre una máquina hipotética o virtual, la Java Virtual Machine, que se encarga de interpretar el código (ficheros compilados .class) y convertirlo a código particular de la CPU que se esté utilizando (siempre que se soporte dicha máquina virtual).

Conceptos previos de POO

Concepto de clase y objeto

El elemento fundamental a la hora de hablar de programación orientada a objetos es el concepto de objeto en sí, así como el concepto abstracto de clase. Un objeto es un conjunto de variables junto con los métodos relacionados con éstas. Contiene la información (las variables) y la forma de manipular la información (los métodos). Una clase es el prototipo que define las variables y métodos que va a emplear un determinado tipo de objeto, es la definición abstracta de lo que luego supone un objeto en memoria.

Concepto de campo, método y constructor

Toda clase u objeto se compone internamente de constructores, campos y/o métodos. Veamos qué representa cada uno de estos conceptos: un campo es un elemento que contiene información relativa a la clase, y un método es un elemento que permite manipular la información de los campos.

Modificadores de acceso

Tanto las clases como sus elementos (constructores, campos y métodos) pueden verse modificados por lo que se suelen llamar modificadores de acceso: • privado: el elemento es accesible únicamente dentro de la clase en la que se encuentra. • protegido: el elemento es accesible desde la clase en la que se encuentra, y además desde las subclases que hereden de dicha clase. • público: el elemento es accesible desde cualquier clase

Componentes de un programa Java

Clases Para definir una clase

se utiliza la palabra reservada clases, seguida del nombre de la clase: clases Mi Clase {...} Es recomendable que los nombres de las clases sean sustantivos (ya que suelen representar entidades), pudiendo estar formados por varias palabras. La primera letra de cada palabra estará en mayúscula y el resto de las letras en minúscula.

Campos y variables

Dentro de una clase, o de un método, podemos definir campos o variables, respectivamente, que pueden ser de tipos simples, o clases complejas, bien de la API de Java, bien que hayamos definido nosotros mismos, o bien que hayamos copiado de otro lugar. Al igual que los nombres de las clases, suele ser conveniente utilizar sustantivos que describan el significado del campo, pudiendo estar formados también por varias palabras

Métodos

Los métodos o funciones se definen de forma similar a como se hacen en C: indicando el tipo de datos que devuelven, el nombre del método, y luego los argumentos entre paréntesis

Herencia e interfaces

Herencia

Cuando queremos que una clase herede de otra, se utiliza al declararla la palabra extends tras el nombre de la clase, para decir de qué clase se hereda. Para hacer que Pato herede de Animal: class Pato extends Animal Con esto automáticamente Pato tomaría todo lo que tuviese Animal (aparte, Pato puede añadir sus características propias).

Clases útiles

Introducción al lenguaje Java 16 Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved. Cuando se programa con Java, se dispone de antemano de un conjunto de clases ya implementadas. Estas clases (aparte de las que pueda hacer el usuario) forman parte del propio lenguaje (lo que se conoce como API.

Clases útiles

Objeto

hEsta es la clase base de todas las clases en Java, toda clase hereda en última instancia de la clase Objeto, por lo que los métodos que ofrece estarán disponibles en cualquier objeto Java, sea de la clase que sea. En Java es importante distinguir claramente entre lo que es una variable, y lo que es un objeto.

Propretores

Esta clase es un subtipo de Has table, que se encarga de almacenar una serie de propiedades asociando un valor a cada una de ellas. Estas propiedades las podremos utilizar para registrar la configuración de nuestra aplicación.

Sistema

Esta clase nos ofrece una serie de métodos y campos útiles del sistema. Esta clase no se debe instancias, todos estos métodos y campos son estáticos. Podemos encontrar los objetos que encapsulan la entrada, salida y salida de error estándar, así como métodos para seleccionarlas, que veremos con más detalle en el tema de entrada/salida.

Estructuras de datos

BeanUtils

Idealmente un mismo campo sólo estará en una clase, por ejemplo, los campos correspondientes a los datos personales de un cliente no tienen por qué repetirse una y otra vez en distintas clases. Sin embargo, cuando construimos un Transfer Objeto es bastante común que copiemos datos entre campos que tienen una correspondencia exacta