Objetos
Un objeto es un conjunto de
a) datos, (atributos, variables, propiedades)... es como el ser de las cosas u objetos.
b) métodos. (funciones)... es como el operar de los objetos.
Los objetos están definidos en su ser u operar por las clases, que son un a modo de matrices de aquellos. Por ejemplo, la clase Mesa crea objetos mesa, iguales o distintos, uno o infinitos, tb se llaman instancias de la clase a que pertenecen o son creados.
Por ejemplo, atributos o propiedades posibles de la Clase Mesa:
Altura, número de patas, forma del tablero, color, ..
Funciones posibles de la Clase Mesa:
Cambiar o modificar su altura, su color, su numero de patas, su forma del tablero. Hacer una mesa duplicando, por lo tanto, clonando a otra.
Tanto los atributos como las funciones o métodos se les da el nombre por los llamados identificadores:
Han de ser sencillos, fáciles de identificar y distinguir.
El constructor es una función que crea una mesa con atributos materiales que queramos.
La estructura de la clase Mesa quedaría así:
public class Mesa{
/**
* Atributos for objects of class Mesa
* atributos de objeto
*/
private int altMesa;
private int numPatas;
private String formaTablero;
private String color;
private static int numMesas; /**es un atributo de clase, que nos dice el núm total de mesas construido
/**
* Constructor for objects of class Mesa
*/
public Mesa(int altMesa, int numPatas, String formaTablero, String color ){
this.altMesa = altMesa;
this.numPatas = numPatas;
this.formaTablero = formaTablero;
this.color = color;
numMesas++;
}
Con los atributos y el, o los constructores de la clase mesa podemos crear OBJETOS de la clase mesa. Estos objetos solo son, pero no pueden realizar ninguna acción ni interaccionar entre ellos:
Se crean utilizando el constructor así:
Mesa a23b = new Mesa(90,4,"cuadrada", "blanca");
Mesa a22c = new Mesa(90,5,"redonda", "roja");
/**
* aquí los armumentos del método constructor van incluidos extresamente,
* pero hay diversos modos de hacerselo llegar al constructor:
* Definiéndolas preeviamente:
* pasando los argumentos por valor:
*/
System.out.println("Introduzca el valor de la altura de la mesa");
int altMesa = tecla.nextInt();
System.out.println("Introduzca el valor del numero de patas de la mesa");
int numPatas = tecla.nextInt();
System.out.println("Introduzca el valor de la forma del tablero de la mesa");
String formaTablero = tecla.next();
System.out.println("Introduzca el valor del color del tablero de la mesa");
String color = tecla.next();
Mesa a19c = new Mesa(altMesa,numPatas,formaTablero,color);
y tomará los valores de las variables obtenidas por el escanner
//Basta con aplicar la visualizacion de ella en pantalla:
System.out.println(a19c);
a19c.colorSet("verdeAzul");
System.out.println(a19c);
}
/**
* Los métodos setters y getters nos cambian el valor de un solo atributo del objeto en curso
* o nos muestran el valor de un atributo del objeto en curso.
*/
public void alturaSet(int altura){this.altura = altura;}
public void numPatasSet(int numPatas){this.numPatas = numPatas;}
public void formaTableroSet(String formaTablero){this.formaTablero = formaTablero;}
public void colorSet(String color){this.color = color;}
public int alturaGet(){return this.altura;}
public int numPatasGet( ){return this.numPatas;}
public String formaTableroGet(){return this.formaTablero;}
public String colorGet(){return this.color;}
/**
* Otro método nos dice como queremos representar en pantalla los objetos: atributos
*/
public String toString(){
return "Esta mesa es: "+this.altura+" cms de altura; "+this.numPatas+" número de patas; "+this.formaTablero+" de forma tablero; "+this.color+" de color.";
}
/**
* Podemos cambiar los atributos de la mesa con los setters
*/
a19c.colorSet("verdeAzul");
System.out.println(a19c);
}
Dos objetos que tengan iguales valores para sus atributos o propiedades , no son un mismo y solo objeto, sino dos objetos distintos, aunque con propiedades iguales.
Comentarios
Publicar un comentario