Tipos de metodos java

Solo disponible en BuenasTareas
  • Páginas : 5 (1185 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de noviembre de 2011
Leer documento completo
Vista previa del texto
Programación orientada a objetos con Java

153

14. Tipos de métodos
Objetivos: a) Profundizar en el concepto de método de una clase e indicar los tipos de métodos en Java: métodos de instancia y métodos de clase b) Interpretar el código fuente de una aplicación Java donde aparecen métodos de distintos tipos c) Construir una aplicación Java sencilla, convenientemente especificada, que empleeclases con diferentes métodos.

Un método es una abstracción de una operación que puede hacer o realizarse con un objeto. Una clase puede declarar cualquier número de métodos que lleven a cabo operaciones de lo más variado con los objetos. En esta sección los métodos se clasifican en dos grupos: los métodos de instancia y los métodos de clase. Además se cierra el capítulo con los métodos declase o estáticos de la clase Math.

14.1. Métodos de instancia
Las clases pueden incluir en su declaración muchos métodos o no declarar ninguno. Los métodos pueden clasificarse en métodos de instancia y métodos de clase. Los métodos de instancia operan sobre las variables de instancia de los objetos pero también tienen acceso a las variables de clase. La sintaxis de llamada a un método deinstancia es:
idReferencia.idMetodo(parametros); // Llamada tipica a un metodo de instancia

Todas las instancias de una clase comparten la misma implementación para un método de instancia. La instancia que hace la llamada al método es siempre un parámetro o argumento implícito. Dentro de un método de instancia, el identificador de una variable de instancia hace referencia al atributo de la instanciaconcreta que hace la llamada al método (suponiendo que el identificador del atributo no ha sido ocultado por el de un parámetro). En el ejemplo anterior en la declaración de la clase CuentaBancaria, los métodos saldo y transferencia son métodos de instancia.
public double saldo() { return saldo; } public void transferencia( CuentaBancaria origen ) { saldo += origen.saldo; origen.saldo=0; }Ejemplos de llamada a estos métodos dentro de PruebaCuentaBancaria:
CuentaBancaria c1 = new CuentaBancaria(); CuentaBancaria c2 = new CuentaBancaria(20.0); c1.transferencia(c2); System.out.println("Cuenta con: " + c1.saldo() + " euros");

154

 A. García-Beltrán y J.M. Arranz

14.2. Métodos de clase
En principio, los métodos de clase no operan sobre las variables de instancia de losobjetos. Los métodos de clase pueden trabajar con las variables de clase pero no pueden acceder a las variables de instancia declaradas dentro de la clase, a no ser que se crea una nueva instancia y se acceda a las variables de instancia a través del nuevo objeto. Los métodos de clase también pueden ser llamados precediendolos con el identificador de la clase, sin necesidad de utilizar el de unainstancia.
IdClase.idMetodo(parametros); // Llamada tipica a un metodo de clase

La palabra static determina la declaración de un método de clase. Por defecto, si no se indica la palabra static, el método declarado se considera un método de instancia. En el ejemplo anterior en la declaración de la clase CuentaBancaria, el método incCuentas es un método de clase.
public static void incCuentas () {totalCuentas++; }

Un ejemplo de llamada a este método dentro de PruebaCuentaBancaria sería:
CuentaBancaria.incCuentas();

Las diferencias entre los métodos de instancia y los de clase se resumen en la Tabla 14.1.
Tabla 14.1. Diferencias entre los métodos de instancia y los métodos de clase

Modificador en Sintaxis de llamada Operan normalmente... la declaración 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

Métodos...

Los métodos de clase o estáticos se pueden considerar equivalentes a las rutinas (globales) de otros lenguajes de programación como Pascal o C. Como ejemplos típicos de métodos estáticos pueden indicarse los métodos de Java...
tracking img