Este documento describe los métodos constructores y métodos en Java. Explica que los constructores inicializan los objetos cuando son creados y tienen el mismo nombre que la clase. También describe cómo se definen y usan los métodos para cambiar y acceder a los valores de las variables de instancia, así como la diferencia entre métodos de instancia y métodos de clase. Finalmente, presenta un ejemplo de clase Vendedor con métodos para comprobar existencias y realizar compras.
2. Constructores Cuando se utiliza una variable de tipo int o double, es necesario inicializarla con los valores que se requieren. De la misma manera los objetos de una clase necesitan ser inicializados cuando son creados. La forma de inicializar los objetos de una clase, es al momento de crearlos con el estatuto new. El estatuto new llama a los métodos constructores de la clase y envía los datos iniciales con los que se creará el objeto. 25/09/2009 2 Programación 302
3. Características de los Métodos Constructores Tienen el mismo nombre de la clase. Pueden existir varios métodos constructores para la misma clase, con diferentes parámetros, siempre y cuando se conserve el mismo nombre de la clase. El método NO debe de decir int, double, voidni nada. Aunque el método constructor no requiera parámetros, es necesario dejar los paréntesis vacíos. Default Constructor Ejemplo: Si tenemos la clase Persona el método constructor se declara como public Persona( ) {} 25/09/2009 3 Programación 302
4. Cambiando los valores de las variablesde instancia. Normalmente los valores de las variables de instancia los declararemos como private. Para cambiar el valor de una variable de instancia se usan metodosmutadores: publicvoidsetEdad(int edad) { this.edad = edad; } ó publicvoidsetEdad(int e) { edad = e; } Si la variable local que se recibe se llama igual que la variable de instancia se usa el this. Por convención los métodos Se inician con minúscula y cada palabra que define el método va con mayúscula. No olvidar el void. 25/09/2009 4 Programación 302
5. Regresando el valor de una variable de instancia Los métodos que regresan un valor de variable de instancia se declaran usando el valor de retorno. Y de denominan métodos accesores. publicintgetNombre() { returnnombre; } No recibe parámetros 25/09/2009 5 Programación 302
6. Métodos: Los métodos describen lo que un objeto puede “hacer”. Métodos de instancia o no-estáticos.- Existen solo para los objetos y deben ser llamados por un objeto en particular. Formato: objeto.método Ejemplo: objpersona.getNomre(); 25/09/2009 6 Programación 302
7. Métodos: Los métodos describen lo que un objeto puede “hacer”. Métodos de clase o estáticos.- Existen solo para la clase y NO pueden ser llamados por los objetos en forma individual. Este es un método estático !! Formato: clase.método Nota: Los métodos estáticos NO accesan datos del objeto !! Ejemplo: Persona.getNombre(); 25/09/2009 7 Programación 302
8. Métodos: Definición de un método: modificador_accesotipo_retorno nombre([tipo parámetro,...]) { } Los parámetros deben de corresponder en número, orden y tipo. 25/09/2009 8 Programación 302
9. Métodos: Variables Locales: Son declaradas dentro del método y se crean cada vez que se llama a dicho método. 25/09/2009 9 Programación 302
10. class Persona{ //Datos miembro String nombre; int edad; //Función constructora Persona (String n, int e) { nombre = n; edad = e; } //Función pública void escribe () { System.out.print("Hola, mi nombre es " + nombre); System.out.println(".Tengo " + edad + " años."); } publicstaticvoidmain (Stringarguments[]) { Persona p; p = new Persona ("Sergio", 41); p.escribe (); System.out.println("----"); p = new Persona ("Anita", 5); p.escribe (); System.out.println("----"); }} 25/09/2009 Programación 302 10
11. Ejercicios class Vendedor { intprecio; intcantidad; intmonto; public Vendedor(int p, int c) { precio = p; cantidad = c; monto = 0; } public booleanquedanexistencias() { if (cantidad > 0) return true;} else return false; } publicvoidcompraproducto() { if(cantidad > 0) { monto = monto + (cantidad*precio); cantidad--; } } 25/09/2009 Programación 302 11
12. Probar Vendedor Vendedor Pedro = new Vendedor(15, 5); while( Pedro.quedanexistencias() ) { System.out.println("Aun quedan en existencia, se puede comprar otro..."); Pedro.compraproducto(); } 25/09/2009 Programación 302 12