Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Cuadrado {
- private double lado;
- private String color;
- // UN Cuadrado TIENE un Punto como centro,
- // en lugar de las coordenadas int centroX, centroY de la version previa.
- private Punto centro;
- /** crea un cuadrado estándar, i.e. de lado 30.0, color rojo y centro en (50, 50). */
- public Cuadrado() {
- this.lado = 30.0;
- this.color = "rojo";
- // El punto (50, 50) es el centro del cuadrado.
- this.centro = new Punto(50, 50);
- }
- /** crea un cuadrado de lado l, color c y centro en (px, py). */
- public Cuadrado(double l, String c, int px, int py) {
- this.lado = l;
- this.color = c;
- // El punto (px, py) es el centro del cuadrado.
- this.centro = new Punto(px, py);
- }
- /** crea un cuadrado de color rojo a partir de dos puntos a y b situados en diagonal. */
- public Cuadrado(Punto a, Punto b) {
- // Ojo: el lado a.getX() - b.getX() puede ser negativo
- this.lado = Math.abs(a.getX() - b.getX());
- this.color = "rojo";
- // El punto medio entre a y b es el centro del cuadrado;
- // consulta la documentacion de la clase Punto para ver
- // cual de sus metodos te permite calcular tal punto medio.
- this.centro = a.puntoMedio(b);
- }
- /** devuelve el lado de un cuadrado. */
- public double getLado() { return this.lado; }
- /** devuelve el color de un cuadrado. */
- public String getColor() { return this.color; }
- /** devuelve la abscisa del centro de un cuadrado. */
- // Antes de completar este metodo, recuerda que el centro
- // de un cuadrado es ahora UN punto.
- public int getCentroX() { return centro.getX(); }
- /** devuelve la ordenada del centro de un cuadrado. */
- // Antes de completar este metodo, recuerda que el centro
- // de un cuadrado es ahora UN punto.
- public int getCentroY() { return centro.getY();}
- /** devuelve el centro de un cuadrado */
- // Antes de completar este metodo, recuerda que el centro
- // de un cuadrado es ahora UN punto.
- public Punto getCentro() { return this.centro ;}
- /** actualiza a nuevo el lado de un cuadrado. */
- public void setLado(int nuevo) { this.lado = nuevo; }
- /** actualiza a nuevo el color de un cuadrado. */
- public void setColor(String nuevo) { this.color = nuevo; }
- /** actualiza a (px, py) el centro de un cuadrado */
- public void setCentro(int px, int py) {
- // El punto (px, py) es el NUEVO centro del cuadrado.
- this.centro = new Punto(px, py);
- }
- /** devuelve el area de un cuadrado. */
- public double area() { return lado * lado; }
- /** devuelve el perimetro de un cuadrado. */
- public double perimetro() { return 4 * lado; }
- /** aumenta en un factor de 1.3 el lado de un cuadrado. */
- public void crece() { lado = lado * 1.3; }
- /** decrementa en un factor de 1.3 el lado de un cuadrado. */
- public void decrece() { lado = lado / 1.3; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement