Está en la página 1de 14

Programacin I

BSI-030

Semanas 9 y 10: Subprogramas

Mtodos
Son miniprogramas dentro de un programa. Son sentencias agrupadas bajo un nombre. Las clases de Java tienen variables y mtodos. Es un bloque de cdigo que tiene un nombre, tipo de acceso, tipo de retorno y lista de parmetros.  Puede tener modificadores como private, public, protected, static, abstract, final.    

Sintaxis Mtodos
tiporetorno nombre (lista de parmetros) { // cuerpo del mtodo }

Ejemplo
int suma(int a, int b) { return a+b; } void imprimir( int b) { System.out.println ( b); }

 Los mtodos devuelven un valor igual al tipo de retorno, y si es diferente de void debe usar return
3

Mtodo main()
 Inicio de la aplicacin y se declara static porque al hacer la entrada del programa no se ha creado ningn objeto.
 Ejemplo
public class Principal {
public static void main(String [] args) { }

Retorno de valores
 Se usa la sentencia return, para salir del mtodo actual y devolver el valor especificado por el tipo de retorno del mtodo. Si el tipo de retorno del mtodo es void, puede usar return. Ejemplo
int suma(){ int x; .. return x; } void imprimir() { . return; }
5

 

Ejemplo Uso de mtodos


//La clase principal utiliza una variable de la clase Rectangulo para hacer uso de los mtodos definidos en esa clase //PruebaRectangulo.java public class PruebaRectangulo{ public static void main(String[] arg) { Rectangulo r = new Rectangulo(15.34,23.0); System.out.println( El area es + r.calculaArea()); } }

Ejemplo Uso de mtodos


//La clase Rectangulo guarda variables miembro y metodos miembros //Rectangulo.java public class Rectangulo{ private double base,altura; public Rectangulo(double base, double altura) { this.base= base; this.altura = altura; } public double calculaArea() { return base * altura; } }
7

Acceso a Mtodos
 El tipo de acceso a los mtodos puede estar ausente o puede ser public, private o protected.  public: puede ser llamado por cualquiera.  private: solo se pueden llamar desde mtodos de la misma clase  protected: puede ser llamado por mtodos de la misma clase, por otras clases en el mismo paquete y por clases que heredan de esta.  El default es protected.
8

Paso de argumentos

 En Java los argumentos de los mtodos se pasan por valor, si se trata de tipos primitivos. Por lo tanto los cambios no se guardan al salir del mtodo.  Los tipos referenciados como los Strings y los objetos se pasan por referencia y los cambios son actualizados.
9

Sobrecarga de Mtodos
 Es posible tener en una clase mtodos con el mismo nombre pero con diferentes tipos de retornos y parmetros de entrada.  Ejemplos
int suma (int a, int b){} double suma (double a, double b){} double suma (double a, double b, double b){}

10

mbito o Alcance
 Determina donde son reconocidos las variables y mtodos.  mbito es el rea donde son visibles las declaraciones.  En Java hay tres tipos de mbitos:
 de clase
 de mtodo  de bloque

 Los identificadores son invisibles fuera del mbito y solo puede acceder en el mbito.  La posicin de la declaracin determina el mbito
11

mbito de la Clase
 Las variables de instancia declaradas en una clase tienen mbito global a la clase y puede ser llamada por cualquier mtodo.

class Radio { int potencia; double precio; //son visibles en todos los mtodos public void imprimir() { System.out.println(potencia); System.out.println(precio); } }
12

mbito de Mtodo
 Las variables declaradas dentro del mtodo, se consideran locales al mtodo y son invisibles fuera del mbito de su mtodo. Incluye las variables definidas entre {} y las de la lista de parmetros.
public class Ambito { double resultado; // global public int suma(int x, int y) { int resultado =0; // local al mtodo resultado = x+y; return resultado } }

13

mbito de Bloque
 Un bloque se delimita por {}, entro de un bloque se pueden declarar variables y estas son visibles dentro de este bloque.  No se pueden definir variables con el mismo nombre en bloques anidados.

if (z>9) { int i= 0; //local al bloque del if if (z <25) { int j = 0; //local al segundo bloque } }
14

También podría gustarte