Me parece ser o mesmo, nas 2 alternativas...
Alternativa A:
class CalculadorDeArea {
static calcula(...areas: AreaCalculavel[]): number {
return areas.reduce((total, area) => total + area.calculaArea(), 0);
}
}
const quadrado = new Quadrado(30);
const retangulo = new Retangulo(50, 30);
const circulo = new Circulo(20);
const total = CalculadorDeArea.calcula(quadrado, retangulo, circulo);
console.log(total);
Alternativa B:
class CalculadorDeArea {
static calcula(areas: AreaCalculavel[]): number {
return areas.reduce((total, area) => total + area.calculaArea(), 0);
}
}
const quadrado = new Quadrado(30);
const retangulo = new Retangulo(50, 30);
const circulo = new Circulo(20);
const total = CalculadorDeArea.calcula(quadrado, retangulo, circulo);
console.log(total);