Advertisement
rsvaco

cuadrado iip

Jan 3rd, 2017
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.06 KB | None | 0 0
  1. public class Cuadrado {
  2.  
  3.     private double lado;
  4.     private String color;
  5.     // UN Cuadrado TIENE un Punto como centro,
  6.     // en lugar de las coordenadas int centroX, centroY de la version previa.
  7.     private Punto centro;
  8.    
  9.     /** crea un cuadrado  estándar, i.e. de lado 30.0, color rojo y centro en (50, 50). */
  10.     public Cuadrado() {
  11.         this.lado = 30.0;
  12.         this.color = "rojo";
  13.         // El punto (50, 50) es el centro del cuadrado.
  14.         this.centro = new Punto(50, 50);
  15.     }
  16.    
  17.     /** crea un cuadrado de lado l, color c y centro en (px, py). */
  18.     public Cuadrado(double l, String c, int px, int py) {
  19.         this.lado = l;
  20.         this.color = c;
  21.         // El punto (px, py) es el centro del cuadrado.
  22.         this.centro = new Punto(px, py);
  23.     }
  24.    
  25.     /** crea un cuadrado de color rojo a partir de dos puntos a y b situados en diagonal. */
  26.     public Cuadrado(Punto a, Punto b) {
  27.         // Ojo: el lado a.getX() - b.getX() puede ser negativo
  28.         this.lado = Math.abs(a.getX() - b.getX());
  29.         this.color = "rojo";
  30.         // El punto medio entre a y b es el centro del cuadrado;
  31.         // consulta la documentacion de la clase Punto para ver
  32.         // cual de sus metodos te permite calcular tal punto medio.
  33.         this.centro = a.puntoMedio(b);
  34.     }
  35.  
  36.     /** devuelve el lado de un cuadrado. */
  37.     public double getLado() { return this.lado; }
  38.    
  39.     /** devuelve el color de un cuadrado. */
  40.     public String getColor() { return this.color; }
  41.    
  42.     /** devuelve la abscisa del centro de un cuadrado. */
  43.     // Antes de completar este metodo, recuerda que el centro  
  44.     // de un cuadrado es ahora UN punto.
  45.     public int getCentroX() { return centro.getX(); }
  46.    
  47.     /** devuelve la ordenada del centro de un cuadrado. */
  48.     // Antes de completar este metodo, recuerda que el centro
  49.     // de un cuadrado es ahora UN punto.
  50.     public int getCentroY() { return centro.getY();}
  51.    
  52.     /** devuelve el centro de un cuadrado */
  53.     // Antes de completar este metodo, recuerda que el centro
  54.     // de un cuadrado es ahora UN punto.
  55.     public Punto getCentro() { return this.centro ;}
  56.    
  57.     /** actualiza a nuevo el lado de un cuadrado. */
  58.     public void setLado(int nuevo) { this.lado = nuevo; }
  59.    
  60.     /** actualiza a nuevo el color de un cuadrado. */
  61.     public void setColor(String nuevo) { this.color = nuevo; }
  62.    
  63.     /** actualiza a (px, py) el centro de un cuadrado */
  64.     public void setCentro(int px, int py) {
  65.         // El punto (px, py) es el NUEVO centro del cuadrado.
  66.         this.centro = new Punto(px, py);
  67.     }
  68.    
  69.     /** devuelve el area de un cuadrado. */
  70.     public double area() { return lado * lado; }
  71.    
  72.     /** devuelve el perimetro de un cuadrado. */
  73.     public double perimetro() { return 4 * lado; }    
  74.  
  75.     /** aumenta en un factor de 1.3 el lado de un cuadrado. */
  76.     public void crece() { lado = lado * 1.3; }
  77.  
  78.     /** decrementa en un factor de 1.3 el lado de un cuadrado. */
  79.     public void decrece() { lado = lado / 1.3; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement