Hemos visto que los objetos tienen "estados" y "comportamientos" representados mediante "variables de referencia" y "métodos", ahora vamos a ver de que forma podemos relacionar estos dos elementos.
Se podría decir que: Los métodos usan los valores de las variables de la clase.
Un ejemplo claro es:
class Perro {
int altura;
String nombre;
void ladrar () {class PerroTestDrive {
if (altura > 60) {}
System.out.println("que grande soy");} else if (altura >15) {
System.out.println("bueno, no soy tan pequeño");} else {
System.out.println ("vaya marrón");}
}
public static void main (String[] args) {
Perro uno = new Perro ();
Perro dos = new Perro ();
Perro tres = new Perro ();
uno.altura = 70;
dos.altura = 8;
tres.altura = 35;
uno.ladrar();}
dos.ladrar();
tres.ladrar();
}
Vemos como el método puede utilizar las variables definidas en su código.
Enviando cosas al objeto:
Podemos pasar valores a los métodos, por ejemplo, podríamos decir:
Perro uno = new Perro ();
uno.ladrar (3); //Donde el 3 es el argumento
void ladrar (int numeroDeLadridos) { //Donde numeroDeLadridos es el parámetro)
while (numeroDeLadridos > 0) {
System.out.println ("Jáu Jáu");
numeroDeLadridos = numeroDeLadridos -1;
}
}
Recibiendo cosas de un método:
Hasta ahora hemos visto métodos que no devolvían nada, es el caso de:
void ejemplo () {
}
Pero podemos también declarar métodos que devuelvan un tipo de valor específico:
int devuelveAlgo () {
return 10;
}
// Debemos tener una variable que pueda almacenar el valor que nos devuelve el método, en este caso es un valor entero, por lo tanto podremos decir que:
int dameLoQueDevuelves = unaClase.devuelveAlgo;
Mandando más de una cosa a un objeto:
Podemos enviar mas de una variable a la vez;
void unMetodo () {
nuevoObjeto nuevo = new nuevoObjeto ();
nuevo.tomaDos (10, 20);
}
void tomaDos (int x, int y) {
int z = x + y;
System.out.println ("El total es " + z);
}
El 10 se corresponde con la x y el 20 con la y.
* Podemos enviar también variables que contengan el valor deseado:
void unMetodo () {
int uno = 10; // Creamos unas variables nueva
int dos = 20;
nuevoObjeto nuevo = new nuevoObjeto ();
nuevo.tomaDos (uno, dos);
}
void tomaDos (int x, int y) {
int z = x + y;
System.out.println ("El total es " + z);
}
Un detalle a tener en cuenta es que el argumento no está conectado con el parámetro, es decir, una vez que le pasemos el valor de uno y dos al método tomaDos (int x, int y) El valor que tenga x e y no modificarán el valor de uno y dos. Es decir, el valor de uno y dos se "copia" en los valores de x e y. A partir de ese momento todo lo que hagamos con x e y no influirá en el valor inicial de uno y dos.
Getters y Setters:
Los getters y setters te permitirán obtener y establecer/definir cosas. Valores de variables instanciadas por lo general. La estructura generar que se emplear es:
Ejemplo:
class GuitarraElectrica {
String marca;
int numeroDeGuitarras;
boolean artistaLaUsa
//Esto es un Getter
String getMarca () {
return marca;
}
//Esto es un Setter
void setMarca (String aMarca) {
marca = aMarca;
}
//Lo hacemos con cada una de las variables
int getnumeroDeGuitarras () {
return numeroDeGuitarras;
}
void setNumeroDeGuitarras (int num) {
numeroDeGuitarras = num;
}
//Y con la ultima:
boolean getArtistaLaUsa () {
return artistaLaUsa;
}
void setArtistaLaUsa (boolean siONo) {
artistaLaUsa = siONo;
}
}
No hay comentarios:
Publicar un comentario