Professional Documents
Culture Documents
Dos paradigmas
Abstracción
Todos los lenguajes orientados a objetos proporcionan los mecanismos que ayudan a
implementar el modelo orientado a objetos. Estos mecanismos son el encapsulado, la
herencia y el polimorfismo.
Encapsulado
El encapsulado es el mecanismo que permite unir el código junto con los datos que
manipula, y mantiene a ambos a salvo de las interferencias exteriores y de un uso
indebido. En Java, la base del encapsulado es la clase.
Herencia
La herencia es el proceso por el cual un objeto adquiere las propiedades de otro. Esto es
importante, ya que supone la base del concepto de clasificación jerárquica.
Polimorfismo
El polimorfismo es una característica que permite que una interfaz sea utilizada por una
clase general de acciones. La acción específica queda determinada por la naturaleza
exacta de la situación.
Una vez discutidos los pilares básicos de la orientación a objetos de Java, veamos
programas de Java reales. Comencemos compilando y ejecutando el siguiente programa
ejemplo.
/*
Este es un programa de prueba en Java.
Este archivo se llama “Ejemplo.java”.
*/
class Ejemplo {
// El programa comienza con una línea llamada main().
public static void main(String args[]) {
System.out.println(“Este es un programa de prueba en Java.”);
}
}
C:\>javac Ejemplo.java
El compilador javac crea un archivo llamado Ejemplo.class, que contiene la versión del
programa en código binario. El resultado de la compilación con javac no es un código que
pueda ser directamente ejecutado. Para ejecutar el programa efectivamente, se debe
utilizar el intérprete denominado java. Para ello se pasa el nombre de la clase, Ejemplo,
como argumento a la línea de comandos.
C:\>java Ejemplo
Veamos con más detalle cada parte del programa. Las siguientes líneas:
/*
Este es un programa de prueba en Java.
Este archivo se llama “Ejemplo.java”.
*/
class Ejemplo {
Esta línea utiliza la palabra clave class para declarar que se está definiendo una nueva
clase. Ejemplo es un identificador y el nombre de la clase. La definición de la clase
completa, debe estar entre la llave de apertura ({) y la de cierre (}).
En esta línea comienza el método main(). En esta línea comienza la ejecución del
programa. La palabra clave public es un especificador de acceso que permite al
programador controlar la visibilidad de los miembros de una clase. Cuando un miembro de
una clase va precedido por el especificador public, entonces es posible acceder a ese
miembro desde cualquier código fuera de la clase en que se ha declarado. La palabra
clave static (estático) permite que se llame a main() sin tener que referirse a ninguna
instancia particular de esa clase. La palabra clave void simplemente indica al compilador
que main() no devuelve ningún valor.
Esta línea visualiza la cadena “Este es un programa de prueba en Java”, seguido por una
nueva línea en pantalla. La salida es efectuada por el método println(). System es una
clase predefinida que proporciona acceso al sistema, y out es el flujo de salida que está
conectado a la consola.
/*
Este es otro ejemplo breve.
Este archivo se llama “Ejemplo2.java”.
*/
class Ejemplo2 {
public static void main(String args[]) {
int num; // Declara una variable llamada num
num = num * 2;
Esta línea declara una variable entera llamada num. En el programa la línea
En esta sentencia el signo más (+) hace que el valor de num sea añadido a la cadena que
le precede, y a continuación se visualice la cadena resultante. Utilizando el operador +, se
pueden encadenar tantos caracteres como se desee dentro de una única sentencia
println().
La siguiente línea de código asigna a num el valor de dos veces num. Java utiliza el
operador * para la multiplicación. Después de ejecutar esta línea, el valor de num será
200.
El método print() se ejecuta para presentar la cadena “El valor de num * 2 es ”. Esta
cadena no es seguida por una nueva línea.
Se introducen brevemente dos sentencias de control para poder utilizarlas en los ejemplos
de programas que a continuación se presentan.
La sentencia if
if(condición) sentencia;
Operador Significado
< Menor que
> Mayor que
== Igual a
/*
Demostración de la sentencia if.
Este archivo se llama “EjemploIf.java”.
*/
class EjemploIf {
public static void main(String args[]) {
int x, y;
x = 10;
y = 20;
x es menor que y
x es ahora igual que y
x ahora es mayor que y
El ciclo for
Las sentencias de ciclos son una parte importante de cualquier lenguaje de programación.
Java facilita un potente surtido de construcciones de ciclos. Probablemente la más versátil
es el ciclo for. La forma más simple del ciclo for es la siguiente:
La parte de inicialización del ciclo asigna un valor inicial a la variable de control del ciclo.
La condición es una expresión booleana que examina la variable de control del ciclo. La
expresión de iteración determina como cambia la variable de control de cada vez que se
recorre el ciclo. El siguiente programa sirve como ejemplo del ciclo for:
/*
Demostración del ciclo for.
Este archivo se llama “ForPrueba.java”.
*/
class ForPrueba {
public static void main(String args[]) {
int x;
Esto es x: 0
Esto es x: 1
Esto es x: 2
Esto es x: 3
Esto es x: 4
Esto es x: 5
Esto es x: 6
Esto es x: 7
Esto es x: 8
Esto es x: 9
En este ejemplo, la variable de control del ciclo es x. En la parte de inicialización del ciclo
for, esta variable se inicializa a cero. Al comienzo de cada iteración, incluyendo la
primera, se comprueba la x < 10. Si el resultado es verdadero, se ejecuta la sentencia
println(), y a continuación se ejecuta la parte de la iteración del ciclo. Este proceso
continúa hasta que la condición sea falsa.
Veamos otro ejemplo. El siguiente programa utiliza un bloque de código como cuerpo de
un ciclo for.
/*
Demostración de un bloque de código.
Este archivo se llama “PruebaBloque.java”.
*/
class PruebaBloque {
public static void main(String args[]) {
int x, y;
y = 20;
Esto es x: 0
Esto es y: 20
Esto es x: 1
Esto es y: 18
Esto es x: 2
Esto es y: 16
Esto es x: 3
Esto es y: 14
Esto es x: 4
Esto es y: 12
Esto es x: 5
Esto es y: 10
Esto es x: 6
Esto es y: 8
Esto es x: 7
Esto es y: 6
Esto es x: 8
Esto es y: 4
Esto es x: 9
Esto es y: 2
En este caso, el cuerpo del ciclo for es un bloque y no una única sentencia. Por lo tanto,
cada vez que se realiza una iteración, se ejecutan las tres sentencias que están dentro del
bloque, tal y como muestra la salida generada por el programa.
Cuestiones de léxico
Ahora podemos describir de manera formal los elementos básicos de los programas
escritos en Java, que son una colección de espacios en blanco, identificadores,
comentarios, literales, operadores, separadores y palabras clave.
Espacios en blanco
En Java es suficiente un espacio para diferenciar los elementos del programa. Java es
sensible al texto, es decir, diferencia entre mayúsculas y minúsculas. En Java un espacio,
tabulador o línea nueva son un espacio es blanco.
Identificadores
Los identificadores se utilizan para los nombres de las clases, de los métodos y de las
variables. Un identificador es una secuencia descriptiva de letras, números, carácter de
subrayado (_) y el signo $. El identificador nunca empieza con un número. Los
identificadores deben tener una semántica del elemento que describen por ejemplo usar
num para guardar un número.
Literales
Un valor constante en Java se crea mediante una representación literal. Por ejemplo:
Comentarios
Existen tres tipos de comentarios en Java. El de una línea (//), de múltiples líneas (/* …
*/), y el tercero se denomina comentario de documentación que se utiliza para generar un
archivo HTML que documenta el programa (/** … */).
Separadores