public interface Forma {
double calcularArea();
}
public class Circulo implements Forma {
private double raio;
public Circulo(double raio){
this.raio = raio * raio;
}
@Override
public double calcularArea() {
return 3.14 * raio;
}
}
public class Quadrado implements Forma {
private double altura;
private double largura;
public Quadrado(double altura, double largura){
this.altura = altura;
this.largura = largura;
}
@Override
public double calcularArea() {
return altura * largura;
}
}
public class Main {
public static void main(String[] args) {
Circulo circulo1 = new Circulo(3);
Circulo circulo2 = new Circulo(4);
Circulo circulo3 = new Circulo(6);
var quadrado1 = new Quadrado(5, 5);
var quadrado2 = new Quadrado(2, 3);
var quadrado3 = new Quadrado(4, 7);
ArrayList<Forma> listaDeFormas = new ArrayList<>();
listaDeFormas.add(circulo1);
listaDeFormas.add(circulo2);
listaDeFormas.add(circulo3);
listaDeFormas.add(quadrado1);
listaDeFormas.add(quadrado2);
listaDeFormas.add(quadrado3);
for (Forma forma : listaDeFormas){
if (forma instanceof Circulo circulo) {
System.out.println("A área de um circulo é: " + circulo.calcularArea());
}
System.out.println("===============================");
if (forma instanceof Quadrado quadrado){
System.out.println("A área de um quadrado é: " + quadrado.calcularArea());
}
}
}
}