You are on page 1of 7

Control 4

Jorge Olguín Leiva

Programación de Computadores II

Instituto IACC

13/05/2018
Desarrollo

Antes que todo y para aclarar, la mejor forma de crear y mantener un programa mediano o
grande, es construirlo por partes o por piezas más pequeñas o módulos, los que se pueden
manejar, entender o administrar mejor que el programa en su totalidad. Estos módulos son
los denominados Métodos (subprogramas), estos también son utilizados para evitar la
repetición de código en un programa y estos métodos pueden ser llamados o invocados
desde cualquier parte del programa.

- Métodos Constructores:
No es mucho más lo que se puede agregar a lo que se entrega en el material de la semana,
solo que por ser métodos, los constructores también aceptan parámetros. Además que
cuando no se especifica ningún tipo de constructor en la clase, el compilador añade uno
público por omisión sin parámetros, el cual no hace nada.
Ejemplo……
Se crea una clase llamada Contruc y se creara dentro un constructor con y sin parámetros.
Public class Contruc{
Public Contruc(); //Contructor sin parámetros
Public Contruc (int Numero){ //Contructor con parámetros
NumeroN = Numero;
}
}

- Métodos Finalizadores:
Un finalizador es un método que se llama automáticamente cuando se va a destruir un
objeto. Este se utiliza para algunas operaciones como cerrar ficheros, cerrar conexiones
de red, etc. Esto hace que libere memoria reservada.
Protected void finalize(){
Close();
}
Cierra el canal cuando este objeto es reciclado

- Métodos Native
Los métodos nativos son bibliotecas o funciones escritas en lenguaje C. C++. Este
mecanismo es útil en aquellas aplicaciones que no pueden ser escritas íntegramente en
Java. Dado que API no proporciona todo el soporte necesario para las funciones de
nuestro proyecto
(Ejercicio copiado de la web)

Public class MyJNIClass{


Public static void main(String[] args){
New MyJNIClass().printf(“Hola Mundo”);
}
Static{
//Carga la biblioteca dinámica: libmyJNIlib.so System.loadLibrary(“myJNIlib”);
}
Prívate native void printf(String str);
}
La biblioteca de enlace dinámico es cargada por el método
Void loadLibrary(String LibraryName)
- Métodos Synchronized
La palabra reservada synchronized es utilizada para bloquear bloques de código
permitiendo el acceso a hilos de ejecución de uno a la vez.
(El ejemplo encontrado es demasiado largo pero se encuentra en el link 5)
En el programa adjunto más abajo, se muestra el uso de variables en un ciclo anidado IF. Se
puede ver que se usa el mismo nombre de variables en ambos ciclos pero solo funcionaran
en el ciclo donde se definen.
La razón es que si se llama o invoca una variable de otro bloque puede como en este caso,
no ser encontrada ya que, como se muestra en el ejemplo, si se selecciona la opción 1
(Triangulo), el programa no tomara en cuenta el contenido del otro bloque o ciclo.
import java.util.Scanner;
public class AnidaVar{
public static void main(String args[]){
Scanner usoTecla = new Scanner(System.in);
int opcion = 0; //Esta variable puede ser usada en cualquier parte del programa

System.out.println("****************************************");
System.out.println("* Uso de Variables en Bloques Anidados *");
System.out.println("****************************************");
System.out.println("");
System.out.println("Calculo de Área de Triangulo (1) y Rectángulo (2)");
System.out.println("");
System.out.println("Ingrese su opción 1 o 2");
opcion = usoTecla.nextInt();
System.out.println("");
if (opcion == 1){ //Ciclo o bloque principal
int base = 0; //Variables correspondientes al bloque principal
int altura = 0;
int total = 0;
System.out.print("Ingrese el valor de la Base: ");
base = usoTecla.nextInt();
System.out.println("");
System.out.print("Ingrese el valor de la Altura: ");
altura = usoTecla.nextInt();
System.out.println("");
total = (base * altura) / 2;
System.out.println("El valor del Area del Triangulo es de :" + total);
}
else if (opcion == 2){ // Ciclo anidado dentro del Ciclo principal
int base = 0; //Variables del ciclo anidado
int altura = 0;
int total = 0;
System.out.print("Ingrese el valor de la Base: ");
base = usoTecla.nextInt();
System.out.println("");
System.out.print("Ingrese el valor de la Altura: ");
altura = usoTecla.nextInt();
System.out.println("");
total = base * altura;
System.out.println("El valor del Area del Rectangulo es de :" + total);
}
else {
System.out.println("Opcion digitada no es válida");
}
}
}
Bibliografía

1.- Link 1

2.- Link 2

3.- Link 3

4.- Link 4

5.- Link 5

You might also like