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.
Hola Enrique,
ResponderEliminarUna corrección al punto 3.- Modificador STATIC. Un atributo static es compartido por todas las instancias de la clase, no por varias clases. Creo que lo que querías decir es "instancia de clase" en vez de "clase" a secas.
Salud.
Gracias Oscar por la corrección. Subsanado y publicado.. Salu2.
ResponderEliminar