Tipos complejos: Interfaz del tipo. Estructura de los objetos.
Un objeto, generalmente está formado por un conjunto de datos que se agrupan en una unidad. A su vez dispone de métodos u operaciones que permiten crearlo y modificarlo y operar con objetos de la clase de distintas formas.
Por ejemplo, un objeto punto en el plano consta de dos coordenadas x e y, que se agrupan para formar un punto. La clase donde se definen, pueden definir a su ves métodos constructores y modificadores, y otros que tienen distintas utilidades:
public class Punto{ //definimos la cabecera de la clase Punto
private double x; //con dos atributos: x e y, que son dos variables doubles o reales
private double y;
public Punto(){ // A continuación el método constructor, o los métodos constructores.
this.x = 0;
this.y = 0;
}
public Punto(double x, double y){//Este construye un punto x, y, con los valores de los parámetros
this.x = x;
this.y = y;
}
public Punto(Punto p){//Este construye un punto a partir de otro punto.
this.x = p.x;
this.y = p.y;
}
public double getX(){return this.x;}//obtenemos el valor x de un punto ya creado
public double getY(){return this.y;}//lo mismo, pero en y.
public void setX(double x){this.x = x;}//cambiamos el valor x de un punto dado.
public void setY(double y){this.y = y;}//lo mismo en y.
public Punto getLocacion(){ return new Punto(this.x,this.y);}//esto no lo tengo claro.
public void mover(double x, double y){//movemos un punto a otra posición nueva.
this.x = x;
this.y = y;
}
public void incrementar(double x, double y){//movemos un punto a partir de una posición anterior
this.x = this.x+x;
this.y = this.y+y;
}
public boolean equals(Object o){//comprobamos si dos puntos tienen los mismos valeres x, y.
return o instanceof Punto
&& this.x==((Punto)o).x
&& this.y==((Punto)o).y;
}
public String toString(){//Expresamos con un String los datos que precisamos de un punto.
String st = "";
st="Punto de coordenadas x = "+this.x+" e y "+this.y;
System.out.println(st);
return st;
}
}
Esta es una definición de la clase Punto de x, y doubles., con sus atributos, métodos constructores y métodos modificadores y otros.
Todo ello se puede documentar a través de lo que se llama la interfaz, que dá información sobre los atributos y métodos implementados:
Como se ve, de los atributos no da información, y de los métodos prácticamente es la misma información en la sumaria que en la detallada, quizá porque no está comentado el código fuente.
Class Punto
- java.lang.Object
- Punto
public class Punto extends java.lang.Object
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object o)PuntogetLocacion()doublegetX()doublegetY()voidincrementar(double x, double y)voidmover(double x, double y)voidsetX(double x)voidsetY(double y)java.lang.StringtoString()
Constructor Detail
Punto[Show source in BlueJ]
public Punto()
Punto[Show source in BlueJ]
public Punto(double x, double y)
Punto[Show source in BlueJ]
public Punto(Punto p)
Method Detail
getX[Show source in BlueJ]
public double getX()
getY[Show source in BlueJ]
public double getY()
setX[Show source in BlueJ]
public void setX(double x)
setY[Show source in BlueJ]
public void setY(double y)
getLocacion[Show source in BlueJ]
public Punto getLocacion()
mover[Show source in BlueJ]
public void mover(double x, double y)
incrementar[Show source in BlueJ]
public void incrementar(double x, double y)
equals[Show source in BlueJ]
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
toString[Show source in BlueJ]
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
Comentarios
Publicar un comentario