Generation

generate functionTue, 10 Jun 2025

crea un código en java con las siguientes instrucciones • Crear una clase abstracta `Figura` con atributos `color` y métodos `calcularArea()` y `mostrarFigura()`. • - Crear subclases `Circulo`, `Cuadrado` y `Rectangulo`, con atributos específicos y sobreescritura de `calcularArea()`. • - Encapsular todos los atributos y usar getters/setters. • - Aplicar sobrecarga de método `mostrarFigura()`: uno sin parámetros, otro con una etiqueta personalizada. • - Desde `main`, crear distintas figuras y mostrarlas usando polimorfismo.

Aquí te muestro el código en Java que cumple con las instrucciones que me proporcionaste: ```java // Clase abstracta Figura public abstract class Figura { private String color; public Figura(String color) { this.color = color; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public abstract double calcularArea(); public void mostrarFigura() { System.out.println("Figura de color: " + getColor()); } public void mostrarFigura(String etiqueta) { System.out.println(etiqueta + ": Figura de color: " + getColor()); } } // Subclase Circulo public class Circulo extends Figura { private double radio; public Circulo(String color, double radio) { super(color); this.radio = radio; } public double getRadio() { return radio; } public void setRadio(double radio) { this.radio = radio; } @Override public double calcularArea() { return Math.PI * Math.pow(getRadio(), 2); } @Override public void mostrarFigura() { super.mostrarFigura(); System.out.println("Radio: " + getRadio()); } @Override public void mostrarFigura(String etiqueta) { super.mostrarFigura(etiqueta); System.out.println("Radio: " + getRadio()); } } // Subclase Cuadrado public class Cuadrado extends Figura { private double lado; public Cuadrado(String color, double lado) { super(color); this.lado = lado; } public double getLado() { return lado; } public void setLado(double lado) { this.lado = lado; } @Override public double calcularArea() { return Math.pow(getLado(), 2); } @Override public void mostrarFigura() { super.mostrarFigura(); System.out.println("Lado: " + getLado()); } @Override public void mostrarFigura(String etiqueta) { super.mostrarFigura(etiqueta); System.out.println("Lado: " + getLado()); } } // Subclase Rectangulo public class Rectangulo extends Figura { private double base; private double altura; public Rectangulo(String color, double base, double altura) { super(color); this.base = base; this.altura = altura; } public double getBase() { return base; } public void setBase(double base) { this.base = base; } public double getAltura() { return altura; } public void setAltura(double altura) { this.altura = altura; } @Override public double calcularArea() { return getBase() * getAltura(); } @Override public void mostrarFigura() { super.mostrarFigura(); System.out.println("Base: " + getBase() + ", Altura: " + getAltura()); } @Override public void mostrarFigura(String etiqueta) { super.mostrarFigura(etiqueta); System.out.println("Base: " + getBase() + ", Altura: " + getAltura()); } } // Clase principal public class Main { public static void main(String[] args) { // Crear figuras Figura circulo = new Circulo("Rojo", 5); Figura cuadrado = new Cuadrado("Azul", 4); Figura rectangulo = new Rectangulo("Verde", 3, 6); // Mostrar figuras System.out.println("Circulo:"); circulo.mostrarFigura(); System.out.println("Área: " + circulo.calcularArea()); System.out.println(); System.out.println("Cuadrado:"); cuadrado.mostrarFigura(); System.out.println("Área: " + cuadrado.calcularArea()); System.out.println(); System.out.println("Rectángulo:"); rectangulo.mostrarFigura(); System.out.println("Área: " + rectangulo.calcularArea()); System.out.println(); // Mostrar figuras con etiqueta personalizada System.out.println("Circulo:"); circulo.mostrarFigura("Circulo Rojo"); System.out.println("Área: " + circulo.calcularArea()); System.out.println(); System.out.println("Cuadrado:"); cuadrado.mostrarFigura("Cuadrado Azul"); System.out.println("Área: " + cuadrado.calcularArea()); System.out.println(); System.out.println("Rectángulo:"); rectangulo.mostrarFigura("Rectángulo Verde"); System.out.println("Área: " + rectangulo.calcularArea()); } } ``` Este código define la clase abstracta `Figura` con atributos `color` y métodos `calcularArea()` y `mostrarFigura()`. Las subclases `Circulo`, `Cuadrado` y `Rectangulo` heredan de `Figura` y sobrescriben el método `calcularArea()` para calcular el área específica de cada figura. Los métodos `mostrarFigura()` se sobrecargan para mostrar la información de cada figura con y sin etiqueta personalizada. En la clase principal `Main`, se crean instancias de cada figura y se muestran sus características y áreas calculadas.

Want to kickstart your project?Use the new AI Studio to create your code