Advertisement
lucast0rres

Lab3_Quadrado

Apr 13th, 2017
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. /**
  2.  * @author Lucas Pereira Torres de Araújo, 384364
  3.  * Universidade Federal do Ceará - Tecnicas de Programacao I, 2017.1
  4.  */
  5.  
  6. public class Quadrado extends Ponto implements Figura, Colorida {
  7.     private final float lado; //O lado do quadrado nao pode ser alterado
  8.     private Ponto cimaEsquerdo;
  9.     private Ponto cimaDireito;
  10.     private Ponto baixoEsquerdo;
  11.     private Ponto baixoDireito;
  12.     public String cor;
  13.    
  14.     Quadrado (float lado, Ponto p) {
  15.         super(p.px, p.py); //Instancio o ponto base do quadrado, chamando o metodo construtor de Ponto
  16.         this.lado = lado;
  17.         this.baixoEsquerdo = p; //Ponto base do quadrado
  18.         this.baixoDireito = new Ponto(p.px+lado, p.py);
  19.         this.cimaEsquerdo = new Ponto(p.px, p.py+lado);
  20.         this.cimaDireito = new Ponto(p.px+lado, p.py+lado);
  21.     }
  22.    
  23.     Quadrado (float lado, Ponto p, String cor) {
  24.         super(p.px, p.py); //Instancio o ponto base do quadrado, chamando o metodo construtor de Ponto
  25.         this.lado = lado;
  26.         this.baixoEsquerdo = p; //Ponto base do quadrado
  27.         this.baixoDireito = new Ponto(p.px+lado, p.py);
  28.         this.cimaEsquerdo = new Ponto(p.px, p.py+lado);
  29.         this.cimaDireito = new Ponto(p.px+lado, p.py+lado);
  30.         this.cor = cor;
  31.     }
  32.    
  33.     @Override //Sobrescrever o metodo da interface
  34.     public void mover(float dx, float dy) {
  35.         this.baixoEsquerdo.moverPonto(dx, dy);
  36.         this.baixoDireito.moverPonto(dx, dy);
  37.         this.cimaEsquerdo.moverPonto(dx, dy);
  38.         this.cimaDireito.moverPonto(dx, dy);
  39.     }
  40.    
  41.     @Override //Sobrescrever o metodo da interface
  42.     public double calcularArea() {
  43.         float base = this.baixoDireito.px - this.baixoEsquerdo.px;
  44.         float altura = this.cimaEsquerdo.py - this.baixoEsquerdo.py;
  45.        
  46.         return base*altura;
  47.     }
  48.    
  49.     @Override //Sobrescrever o metodo da interface
  50.     public String desenhar() {
  51.         return (this.toString() + " de lado " + this.lado + " e vértices: cimaEsquerdo" + this.cimaEsquerdo.imprimirPonto() + ", cimaDireito" + this.cimaDireito.imprimirPonto() + ", baixoEsquerdo" + this.baixoEsquerdo.imprimirPonto() + ", baixoDireito" + this.baixoDireito.imprimirPonto() + ".");
  52.     }
  53.    
  54.     @Override
  55.     public String desenhar(String cor) {
  56.         this.cor = cor;
  57.         return (this.toString() + " de cor " + this.cor + " e de lado " + this.lado + " e vértices: cimaEsquerdo" + this.cimaEsquerdo.imprimirPonto() + ", cimaDireito" + this.cimaDireito.imprimirPonto() + ", baixoEsquerdo" + this.baixoEsquerdo.imprimirPonto() + ", baixoDireito" + this.baixoDireito.imprimirPonto() + ".");
  58.     }
  59.    
  60.     @Override
  61.     public void setCor(String cor) {
  62.         this.cor = cor;
  63.     }
  64.    
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement