Estructuras de control en Java:
- Java es un lenguaje de programación estructurado, posee estructuras de control.
- Una estructura de control sirve para decidir sobre el flujo de ejecución de un programa.
- Las estructuras de control típicas son las condicionales y las de repetición.
- La programación estructura debe definir un único punto de entrad a la estructura y un único punto de salida.
Clases:
1.- Caracteristicas Generales:
- Java es un lenguaje de programación orientado a objetos. Lo único que le sobra a Java para que sea puramente orientada a objetos son los tipos primitivos. De hecho pocos lenguajes pueden denominarse como lenguajes puramente orientado a objetos.
- Un objeto encapsula atributos y métodos. En Java no puede existir código fuera de una clase.
- En la programación orientada a objetos estos “colaboran” entre sí para alcanzar un objetivo.
- La colaboración se establece mediante el paso de mensajes (llamadas a métodos).
- Todos los atributos deben de ser por omisión privados, solo tendrán una característica diferente cuando sepamos bien lo que pretendemos y sus implicaciones con el nuevo ámbito.
- Todo atributo -por convenio- comienza con minúscula.
- STATIC: Implica que se el atributo es compartido por todas las instancias de la clase. Es decir que cualquier cambio sobre el valor en una clase será visto por el resto. A colación de ésto, un error bastante frecuente en éste sentido es definir como private un atributo, y con un método STATIC intentar hacer un cambio de dicho atributo. Esto por definición es incoherente, y dará un error en su compilación.
- El acceso a los atributos puede realizarse desde la propia clase, o desde una instancia de la misma:
- p.attEstatico; (Ojo, fijémonos que la p es minúscula por lo que es una instancia).
- ClaseEjemplo.attEstatico;
- Usamos void como en C++ para indicar que no devuelve nada un método.
- Los métodos empiezan por minúscula.
- Los modificadores pueden aplicarse sobre los métodos:
- UnaClase.cuantasInstancias();
- Es común utilizar this para romper la ambigüedad con los parámetros del método pero no es algo obligatorio.
- Es posible encontrar bloques de código STATIC dentro de las clases ejerciendo una tarea de inicialización de estrucuturas:
public class bloqueStatic { static double tablaSeno[] = new double[360];
static {
for(int i = 0; i < 360; i++)
tablaSeno[i] = Math.sin(Math.PI*i/180.0);
}
public static void main (String args[]) {
for(int i = 0; i < 360; i++)
System.out.println("Angulo: "+i+" Seno="+tablaSeno[i]);
}
}
- Los objetos no se pasan por valor, siempre por referencia.
- La sobrecarga existe a efecto del número de argumentos y de los tipos de argumentos:
- void metodo(); //OK
- void metodo(int a); //OK
- void metodo(float a); //OK
- float metodo(float a); //ERROR, los métodos no se distinguen por el valor de retorno.
Bueno, hasta aquí las dos primeras clases del programa.
Espero que sea de vuestro interés.
