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 boolean
equals(java.lang.Object o)
Punto
getLocacion()
double
getX()
double
getY()
void
incrementar(double x, double y)
void
mover(double x, double y)
void
setX(double x)
void
setY(double y)
java.lang.String
toString()
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:
equals
in classjava.lang.Object
toString[Show source in BlueJ]
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
Comentarios
Publicar un comentario