Ybadoo - Soluções em Software Livre
Tutoriais
Programação Orientada a Objetos

Desenvolva uma classe chamada RegularPolygon para representar um polígono regular. A classe possui um único atributo denominado length, que representa o comprimento do lado do polígono regular, do tipo double e cujo valor deve ser maior ou igual a zero e menor ou igual a vinte. A classe possui dois construtores: o primeiro configura o comprimento do lado do polígono regular com o valor padrão um, e o segundo recebe como parâmetro o comprimento do lado do polígono regular. O comprimento do lado do polígono regular pode ser obtido e alterado pelo usuário por meio dos métodos getLength() e setLength(), respectivamente. A quantidade de lados, o ângulo interno e a somatória dos ângulos internos do polígono regular podem ser obtidos pelo usuário por meio dos métodos getSides(), getInternalAngle() e getInternalAngleSum(), respectivamente. A classe também apresenta os métodos area() e perimeter(), que retornam a área e o perímetro do polígono regular, respectivamente.

Estenda a classe RegularPolygon para implementar uma classe chamada EquilateralTriangle para representar um triângulo, ou seja, um trilátero regular com três lados de mesmo comprimento. Um triângulo possui um ângulo interno de 60°. A área de um triângulo de lado l é obtida pela fórmula √3 / 4 * l2. O perímetro de um triângulo de lado l é obtida pela fórmula 3 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Square para representar um quadrado, ou seja, um quadrilátero regular com quatro lados de mesmo comprimento. Um quadrado possui um ângulo interno de 90°. A área de um quadrado de lado l é obtida pela fórmula l2. O perímetro de um quadrado de lado l é obtida pela fórmula 4 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Pentagon para representar um pentágono, ou seja, um polígono regular com cinco lados de mesmo comprimento. Um pentágono possui um ângulo interno de 108°. A área de um pentágono de lado l é obtida pela fórmula (l2 * √(25 + 10 * √5)) / 4. O perímetro de um pentágono de lado l é obtida pela fórmula 5 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Hexagon para representar um hexágono, ou seja, um polígono regular com seis lados de mesmo comprimento. Um hexágono possui um ângulo interno de 120°. A área de um hexágono de lado l é obtida pela fórmula 3 / 2 * √3 * l2. O perímetro de um hexágono de lado l é obtida pela fórmula 6 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Octagon para representar um octógono, ou seja, um polígono regular com oito lados de mesmo comprimento. Um octógono possui um ângulo interno de 135°. A área de um octógono de lado l é obtida pela fórmula 2 * (√2 + 1) * l2. O perímetro de um octógono de lado l é obtida pela fórmula 8 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Decagon para representar um decágono, ou seja, um polígono regular com dez lados de mesmo comprimento. Um decágono possui um ângulo interno de 144°. A área de um decágono de lado l é obtida pela fórmula 5 / 2 * (√5 + 2 * √5) * l2. O perímetro de um decágono de lado l é obtida pela fórmula 10 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Dodecagon para representar um dodecágono, ou seja, um polígono regular com doze lados de mesmo comprimento. Um dodecágono possui um ângulo interno de 150°. A área de um dodecágono de lado l é obtida pela fórmula (6 + 3 * √3) * l2. O perímetro de um dodecágono de lado l é obtida pela fórmula 12 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Hexadecagon para representar um hexadecágono, ou seja, um polígono regular com dezesseis lados de mesmo comprimento. Um hexadecágono possui um ângulo interno de 157,5°. A área de um hexadecágono de lado l é obtida pela fórmula 4 * (1 + √2 + √(2 * (2 + √2))) * l2. O perímetro de um hexadecágono de lado l é obtida pela fórmula 16 * l.

Estenda a classe RegularPolygon para implementar uma classe chamada Icosagon para representar um icoságono, ou seja, um polígono regular com vinte lados de mesmo comprimento. Um icoságono possui um ângulo interno de 162°. A área de um icoságono de lado l é obtida pela fórmula 5 * (1 + √5 + √(5 + 2 * √5)) * l2. O perímetro de um hexadecágono de lado l é obtida pela fórmula 20 * l.