Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos...

9
FIGURAS JAVA ~ 1 ~ PROYECTO FIGURAS 1. Crear una clase Figura, abstracta 2. Añadirle los métodos vacíos a. CalcularPerimetro() public Devolver double b. CalcularArea() public Devolver double 3. Crear la clase Rectangulo. A partir de figura 4. Añadir a ésta los atributos base (prívate), altura(prívate) (doublé) 5. Añadir los métodos calcular Perimetro(), calcularArea() 6. Creamos la clase Circulo (extends Figura) 7. Añadimos atributo radio (prívate) 8. Métodos calcularPerimetro(), calculararea() 9. Creamos clase Pruebas, con método main() DIAGRAMA DE FLUJO

Transcript of Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos...

Page 1: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 1 ~

PROYECTO FIGURAS

1. Crear una clase Figura, abstracta2. Añadirle los métodos vacíos

a. CalcularPerimetro() public Devolver doubleb. CalcularArea() public Devolver double

3. Crear la clase Rectangulo. A partir de figura4. Añadir a ésta los atributos base (prívate), altura(prívate) (doublé)5. Añadir los métodos calcular Perimetro(), calcularArea()6. Creamos la clase Circulo (extends Figura)7. Añadimos atributo radio (prívate)8. Métodos calcularPerimetro(), calculararea()9. Creamos clase Pruebas, con método main()

DIAGRAMA DE FLUJO

Page 2: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 2 ~

1. Crear una clase Figura, abstracta2. Añadirle los métodos vacíos

a. CalcularPerimetro() public Devolver doubleb. CalcularArea() public Devolver double

/** * @author Nessy * */public abstract class Figura {

Figura(){

}public double calcularPerimetro(){

return 0;}public double calcularArea(){

return 0;}

}3. Crear la clase Rectangulo. A partir de figura4. Añadir a ésta los atributos base (prívate), altura(prívate) (doublé)5. Añadir los métodos calcular Perimetro(), calcularArea()

/** * @author Nessy * */public class Rectangulo extends Figura {

private double base;private double altura;

public Rectangulo(double base, double altura) {this.base=base;this.altura=altura;

}public double calcularPerimetro(){

return (base*2+altura*2);}

public double calcularArea(){return base * altura * 0.5;

}}

6. Creamos la clase Circulo (extends Figura)7. Añadimos atributo radio (prívate)8. Métodos calcularPerimetro(), calculararea()

/** * @author Nessy * */public class Circulo extends Figura {

private double radio;

public Circulo(double radio) {this.radio=radio;

}public double calcularPerimetro(){

return 2*Math.PI*radio;

}public double calcularArea(){

return Math.PI*(radio*radio);}

}

Page 3: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 3 ~

9. Creamos clase Pruebas, con método main()

/** * @author Nessy * */public class Pruebas {

/** * @param args */

public static void main(String[] args) {}

}

MEJORA

Utilizar los getter para poder obtener los valores de cada Figura:

Esto genera:

public double getRadio() {return radio;

}

Page 4: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 4 ~

Así para hacer pruebas en el main (Prueba) podemos poner por ejemplo:

/** * @author Nessy * */public class Pruebas {

/** * @param args */public static void main(String[] args) {

Rectangulo r1 = new Rectangulo(2.0,4.0);Rectangulo r2 = new Rectangulo(3.0,6.0);System.out.println("RECTANGULOS");System.out.println("Perímetros");System.out.println("Rectángulo base " + r1.getBase()+ " y altura " +

r1.getAltura() + " es " + r1.calcularPerimetro());System.out.println("Rectángulo base " + r2.getBase()+ " y altura " +

r2.getAltura() + " es " + r2.calcularPerimetro());System.out.println("Area");System.out.println("Rectángulo base " + r1.getBase()+ " y altura " +

r1.getAltura() + " es " + r1.calcularArea());System.out.println("Rectángulo base " + r2.getBase()+ " y altura " +

r2.getAltura() + " es " + r2.calcularArea());

Circulo c1 = new Circulo(2);Circulo c2 = new Circulo(4);System.out.println("CIRCULOS" );System.out.println("Perímetros");System.out.println("Circulo radio: "+ c1.getRadio()+ " :

"+c1.calcularPerimetro());System.out.println("Circulo radio: "+ c2.getRadio()+ " :

"+c2.calcularPerimetro());System.out.println("Area");System.out.println("Circulo radio: "+ c1.getRadio()+ " :

"+c1.calcularArea());System.out.println("Circulo radio: "+ c2.getRadio()+ " :

"+c2.calcularArea());

}

}

La salida será:

RECTANGULOSPerímetrosRectángulo base 2.0 y altura 4.0 es 12.0Rectángulo base 3.0 y altura 6.0 es 18.0AreaRectángulo base 2.0 y altura 4.0 es 4.0Rectángulo base 3.0 y altura 6.0 es 9.0CIRCULOSPerímetrosCirculo radio: 2.0 : 12.566370614359172Circulo radio: 4.0 : 25.132741228718345AreaCirculo radio: 2.0 : 12.566370614359172Circulo radio: 4.0 : 50.26548245743669

Page 5: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 5 ~

Aquí vemos:

Herencia : De la clase Figura heredan las clases Rectangulo y Circulo

Encapsulacion : En el hecho de que todo está metidito dentro de las clases y hay cosas que puedo hacer y cosas que no. Por ejemplo el atributo radio el prívate y solo se puede modificar cuando creas un objeto círculo.

Polimorfismo : calcularPerimetro y calcularArea que está presente en las tres clases pero actúa de modo distinto para cada una de ellas. De hecho si yo hago:

Rectangulo b = new Rectangulo(4.0,5.0);

Figura f=b;

System.out.println(f.calcularPerimetro());

Aquí irá a calcularPerímetro de la clase Rectángulo.

MEJORA. Para obtener una salida con 2 decimales vamos a realizar lo mismo que hacíamos para el ejemplo de la raíz cuadrada con DecimalFormat

import java.text.DecimalFormat;/** * @author Nessy * */public class Pruebas {

/** * @param args */

public static void main(String[] args) {DecimalFormat formato = new DecimalFormat("0.00");Rectangulo r1 = new Rectangulo(2.0,4.0);Rectangulo r2 = new Rectangulo(3.0,6.0);System.out.println("RECTANGULOS");System.out.println("Perímetros");System.out.println("Rectángulo base " + r1.getBase()+ " y altura " +

r1.getAltura() + " es " + formato.format(r1.calcularPerimetro()));System.out.println("Rectángulo base " + r2.getBase()+ " y altura " +

r2.getAltura() + " es " + formato.format(r2.calcularPerimetro()));System.out.println("Area");System.out.println("Rectángulo base " + r1.getBase()+ " y altura " +

r1.getAltura() + " es " + r1.calcularArea());System.out.println("Rectángulo base " + r2.getBase()+ " y altura " +

r2.getAltura() + " es " + r2.calcularArea());

Circulo c1 = new Circulo(2);Circulo c2 = new Circulo(4);System.out.println("CIRCULOS" );System.out.println("Perímetros");System.out.println("Circulo radio: "+ c1.getRadio()+ " : "+

formato.format(c1.calcularPerimetro()));System.out.println("Circulo radio: "+ c2.getRadio()+ " :

"+formato.format(c2.calcularPerimetro()));System.out.println("Area");System.out.println("Circulo radio: "+ c1.getRadio()+ " :

"+formato.format(c1.calcularArea()));System.out.println("Circulo radio: "+ c2.getRadio()+ " :

"+formato.format(c2.calcularArea()));}

}

Page 6: Web viewPROYECTO FIGURAS. Crear una clase Figura, abstracta. Añadirle los métodos vacíos. CalcularPerimetro() publicDevolver double. CalcularArea()public

FIGURAS JAVA ~ 6 ~

La salida con este cambio es la siguiente:RECTANGULOSPerímetrosRectángulo base 2.0 y altura 4.0 es 12,00Rectángulo base 3.0 y altura 6.0 es 18,00AreaRectángulo base 2.0 y altura 4.0 es 4.0Rectángulo base 3.0 y altura 6.0 es 9.0CIRCULOSPerímetrosCirculo radio: 2.0 : 12,57Circulo radio: 4.0 : 25,13AreaCirculo radio: 2.0 : 12,57Circulo radio: 4.0 : 50,27