Métodos

Anuncio
5/9/16
Métodos
Métodos constructores
Métodos generales (toString, equals)
Ing. Roberto Martínez Román - [email protected]
Métodos constructores
Estos son métodos especiales que tienen las siguientes
características:
¡ En general, son públicos.
¡ Tienen el mismo nombre que la clase.
¡ Pueden estar sobrecargados.
¡ No tienen tipo de regreso.
La función principal de estos métodos es inicializar las
variables de instancia, ya sea con valores por default o
con los valores que llegan como parámetros.
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
1
5/9/16
Ejemplo
public class Rectangulo
{
private int ancho;
private int alto;
public Rectangulo() {
Constructores
ancho = 1;
alto = 1;
}
public Rectangulo(int ancho, int alto) {
this.ancho = ancho;
this.alto = alto;
}
}
Ing. Roberto Martínez Román - [email protected]
La clase Reloj
—
Diseñe e implemente una clase en Java que
represente un reloj de 24 hrs.
¡
La hora se almacena en tres variables de instancia
÷ hora
÷ minuto
÷ segundo
¡
Las operaciones que debe realizar son:
Reloj
- hora : int
- minuto : int
- segundo : int
- Reloj()
- Reloj(hora:int, minuto:int, segundo:int)
- mostrarHora() : void
÷ Crear
el reloj con la hora 12:00:00 por default.
÷ Crear el reloj con la hora indicada por el usuario (h,m,s).
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
2
5/9/16
Prueba
—
Crea una nueva clase con el método main que haga
lo siguiente:
¡
¡
¡
¡
Crea un reloj con la hora 8:45:05
Pide al objeto que imprima su información en la pantalla.
Crea otro reloj con la hora por default.
Pide al objeto que imprima su información en la pantalla.
Ing. Roberto Martínez Román - [email protected]
Métodos auxiliares/generales
—
Los métodos definen operaciones que el objeto puede hacer
con/sobre sus datos.
La forma general es:
public
void
int
double
String
modificadorAcceso tipoRegreso nombre(listaParámetros) {
instrucciones;
return valor;
// Opcional si el tipo es void
}
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
3
5/9/16
Ejemplos
public void imprimir() {
System.out.println("Hola");
}
Clase b = new Clase();
public int mayor(int a, int b) {
if (a>b) {
return a;
} else {
return b;
}
}
b.imprimir();
int mayor = b.mayor(x,y);
double p = b.promediar();
public double promediar() {
return (this.valor1 + this.valor2) / 2.0;
}
Ing. Roberto Martínez Román - [email protected]
Variables de instancia vs. variables locales
—
Las variables de instancia definen atributos del objeto.
Se definen en la clase. Existen durante toda la vida del
objeto. Normalmente, tiene modificador de acceso
private.
private int edad;
—
Las variables locales son temporales, sólo existen dentro
del método que las declara. Una vez que el método termina,
estas variables desaparecen. No tienen modificador de
acceso. NO representan atributos del objeto. Se debe
declarar su tipo. Los parámetros se comportan como
variables locales.
double promedio;
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
4
5/9/16
Ejemplo
public class Cancion
{
private int duracion;
// Duración en segundos
Variable de
instancia
public void mostrarDuracionMinutos() {
Variable local
double durMinutos;
durMinutos = duracion / 60.0;
System.out.println("Duración en minutos: " + durMinutos);
}
public void otroMetodo() {
duracion = 0;
// OK
durMinutos = 30; // ERROR!
}
}
Ing. Roberto Martínez Román - [email protected]
La clase Reloj
—
Modifica la clase que representa un reloj de 24 hrs.
¡
La hora se almacena en tres variables de instancia
÷ hora
÷ minuto
÷ segundo
¡
Las operaciones que debe realizar son:
÷ Crear
el reloj con la hora 0:00:00 por default.
÷ Crear el reloj con la hora indicada por el usuario (h,m,s).
÷ incrementar. Suma un segundo a la hora actual. (Sin
convertir a segundos)
÷ get/set. Accesores y modificadores de las variables de
instancia.
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
5
5/9/16
Método toString
—
Sirve para construir una representación del estado actual
del objeto.
¡
Construye y regresa una cadena con la información del objeto.
public String toString() {
String cadena;
// Construye la cadena con los datos del objeto
cadena = "......";
return cadena;
}
Ing. Roberto Martínez Román - [email protected]
El método toString
—
Agrega a la clase Reloj, el método toString para
que regrese la hora en el formato de 12 hrs.
h:mm:ss am
o
h:mm:ss pm
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
6
5/9/16
El método equals
public boolean equals(Object obj) {
Tipo t = (Tipo)obj;
return this.attr==t.attr && this.x==t.x;
}
Por ahora usaremos esta versión de equals, más adelante la ampliaremos.
Ing. Roberto Martínez Román - [email protected]
Tarea
—
Crear, en un nuevo proyecto, la clase Reloj como se
muestra a continuación (no puedes cambiar la firma
de los métodos):
Reloj
- segundos : int
- Reloj()
- Reloj(hora:int, minuto:int, segundo:int)
- toString() : String
- incrementar()
- getHora() : int
- getMinuto() : int
- getSegundo() : int
- setHora(hora:int)
- setMinuto(minuto:int)
- setSegundo(segundo:int)
Ing. Roberto Martínez Román - [email protected]
Ing.RobertoMartínezRomá[email protected]
7
Descargar