Documentos de Académico
Documentos de Profesional
Documentos de Cultura
153
Un mtodo es una abstraccin de una operacin que puede hacer o realizarse con un objeto. Una clase puede declarar cualquier nmero de mtodos que lleven a cabo operaciones de lo ms variado con los objetos. En esta seccin los mtodos se clasifican en dos grupos: los mtodos de instancia y los mtodos de clase. Adems se cierra el captulo con los mtodos de clase o estticos de la clase Math.
Todas las instancias de una clase comparten la misma implementacin para un mtodo de instancia. La instancia que hace la llamada al mtodo es siempre un parmetro o argumento implcito. Dentro de un mtodo de instancia, el identificador de una variable de instancia hace referencia al atributo de la instancia concreta que hace la llamada al mtodo (suponiendo que el identificador del atributo no ha sido ocultado por el de un parmetro). En el ejemplo anterior en la declaracin de la clase CuentaBancaria, los mtodos saldo y transferencia son mtodos de instancia.
public double saldo() { return saldo; } public void transferencia( CuentaBancaria origen ) { saldo += origen.saldo; origen.saldo=0; }
154
La palabra static determina la declaracin de un mtodo de clase. Por defecto, si no se indica la palabra static, el mtodo declarado se considera un mtodo de instancia. En el ejemplo anterior en la declaracin de la clase CuentaBancaria, el mtodo incCuentas es un mtodo de clase.
public static void incCuentas () { totalCuentas++; }
Las diferencias entre los mtodos de instancia y los de clase se resumen en la Tabla 14.1.
Tabla 14.1. Diferencias entre los mtodos de instancia y los mtodos de clase
Modificador en Sintaxis de llamada Operan normalmente... la declaracin instancia.metodo(parametros) Sobre variables de instancia -... de instancia (por defecto) Clase.metodo(parametros) static ... de clase Sobre variables de clase o sobre otros datos
Mtodos...
Los mtodos de clase o estticos se pueden considerar equivalentes a las rutinas (globales) de otros lenguajes de programacin como Pascal o C. Como ejemplos tpicos de mtodos estticos pueden indicarse los mtodos de Java correspondientes a las funciones matemticas sin, cos, exp, pow... de la clase java.lang.Math (Tabla 14.2). Las llamadas a estos mtodos se realizan anteponiendo el identificador de la clase Math al identificador del mtodo: Math.sin(angulo)
155
static double abs(double a) static float abs(float a) static int abs(int a) static long abs(long a) static double acos(double a) static double asin(double a) static double atan(double a) static double atan2(double a, double b) static double ceil(double a) static double cos(double a) static double exp(double a) static double floor(double a)
static double IEEEremainder(double f1, Devuelve el resto (en formato double) de la divisin entre los double f2) dos parmetros segn la especificacin IEEE 754 static double log(double a) static double max(double a, double b) static float max(float a, float b) static int max(int a, int b) static long max(long a, long b) static double min(double a, double b) static float min(float a, float b) static int min(int a, int b) static long min(long a, long b) static double pow(double a, double b) static double random() static double rint(double a) static long round(double a) static int round(float a) static double sin(double a) static double sqrt(double a) static double tan(double a)
Devuelve el logaritmo neperiano de un valor. Devuelve el mayor de dos valores de tipo double. Devuelve el mayor de dos valores de tipo float. Devuelve el mayor de dos valores de tipo int. Devuelve el mayor de dos valores de tipo long. Devuelve el menor de dos valores de tipo double. Devuelve el menor de dos valores de tipo float. Devuelve el menor de dos valores de tipo int. Devuelve el menor de dos valores de tipo long. Devuelve el valor del primer parmetro elevado al segundo Devuelve un valor aleatorio de tipo double mayor o igual que cero y menor que 1. Devuelve el valor entero (en formato double) ms cercano. Devuelve el valor entero (long) ms cercano al parmetro. Devuelve el valor entero (int) ms cercano al parmetro. Devuelve el seno de un ngulo Devuelve la raiz cuadrada positiva del parmetro double. Devuelve la tangente de un ngulo radianes a grados
static double toDegrees(double angulo) Devuelve el resultado de la conversin de un ngulo dado en static double toRadians(double angulo) Devuelve la conversin de un ngulo dado en grados a radianes