04-01-2016, 12:09
Aquí las interfaces proporcionadas por el profesor y usadas en la clases que hay que implementar:
Código PHP:
/**
*
*/
package p5;
/**
* Modela un objeto geométrico que está situado en una posición de un espacio de dos
* dimensiones con una orientación dada y que puede ser trasladado y girado
* respecto de un centro de giro.
*
* @author LSI
*
*/
public interface IForma {
/**
* Devuelve coordenada x del objeto
* @return coordenada x del objeto
*/
public double getX();
/**
* Devuelve coordenada y del objeto
* @return coordenada y del objeto
*/
public double getY();
/**
* Devuelve el ángulo que forma el objeto con el eje X.
* @return ángulo que forma el objeto con el eje X.
*/
public double getOrientacion();
/**
* Giro del objeto respecto de un punto.
* @param grados del giro
* @param x coordenada x del centro de giro.
* @param y coordenada y del centro de giro
* @return referencia a la forma girada.
* La clase debe definir si el método
* gira al objeto receptor del mensaje o se crea un nuevo objeto resultado
* de girar al receptor.
*/
public IForma girar(double grados, double x, double y);
/**
* Giro del objeto respecto de sí mismo (punto definido por getX y getY).
* @param grados grados de giro.
*/
public IForma girar(double grados);
/**
* Traslación del objeto.
* @param deltaX traslación en X
* @param deltaY traslación en Y
* @return referencia a la forma girada.
* La clase debe definir si el método
* traslada al objeto receptor del mensaje o se crea un nuevo objeto resultado
* de trasladar al receptor.
*/
public IForma trasladar(double deltaX, double deltaY);
/**
* Devuelve la distancia del objeto al punto definido por las coordenadas x e y
* @param x coordenada x del punto respecto del cual se calcula la distancia.
* @param y coordenada y del punto respecto del cual se calcula la distancia.
* @return distancia del objeto al punto definido por las coordenadas x e y.
*/
public double distancia(double x, double y);
/**
* Escala el objeto en un factor k, manteniendo la posición de su centro geométrico.
* @param k factor de escala.
* @return referencia a la forma escalada.
* La clase debe definir si el método
* escala al objeto receptor del mensaje o se crea un nuevo objeto resultado
* de escalar al receptor.
*/
public IForma escalar(double k);
/**
* Fija un código que sirve para determinar el color de la figura.
* La interprestación del código depende del cliente.
*
* @param code código
*
*/
public void setColor(int code);
/**
* Devuelve el código de color del objeto.
* @return Código de color.
*/
public int getColor();
}
Código PHP:
package p5;
/**
* Modela un polígono regular a partir de sus vértices
* @author LSI
*
*/
public interface IPoligonoRegular {
/**
* Devuelve los vértices del polígono, en orden consecutivo.
* @return vértices del polígono, en orden consecutivo.
*/
public Punto [] getVertices();
/**
* Devuelve el lado del polígono.
* @return lado del polígono
*/
public double getLado();
/**
* Orienta al polígono según el vector v
* Es decir, gira al poligono sobre su centro de tal forma
* que queda orientado respecto del eje x como el
* vector que se pasa como argumento.
* @param v vector de orientación
*/
public void orientar(Vector v);
/**
* Gira al polígono respecto un centro de giro
* @param grados grados del giro
* @param cdg centro de giro
*/
public void girar(double grados, Punto cdg);
/**
* Traslada al polígono según un vector de traslación.
* @param v vector de traslación.
*/
public void trasladar(Vector v);
/**
* Devuelve un punto cuya posición es el centro geométrico de
* del poligono.
*
* @return punto cuya posición es la del centro geométrico de
* del polígono.
*/
public Punto getCentro();
/**
* Devuelve un vector con la orientación del polígono.
* @return vector orientación del polígono.
*/
public Vector getUnitario();
/**
* Área del polígono.
* @return área del polígono.
*/
public double getArea();
/**
* Perímetro del polígono.
* @return perímetro del polígono.
*/
public double getPerimetro();
/**
* Coloca el objeto en la posición (0,0) con orientación según vector unitario j.
*/
public void reset();
}
"Que yo sepa, el español medio no es más honrado que los políticos que lo gobiernan"