Ejercicio I02 - Calculadora de formas
Consigna
Crear una biblioteca de clases que contenga la siguiente jerarquía de herencia:
- La clase
Figura
será base de las demás y no deberá poder instanciarse. - Las clases
Rectangulo
yCirculo
heredarán deFigura
. - La clase
Cuadrado
heredará deRectangulo
. - Las clases
Circulo
yCuadrado
no se deben poder heredar (ser base).
- La clase
Agregar el método
Dibujar
que tendrá una implementación por defecto en la clase base y retornará el texto "Dibujando forma...". Las clases derivadas directas invalidarán dicha implementación y la cambiarán por "Dibujando círculo", "Dibujando rectángulo", según corresponda.Agregar el método
CalcularSuperficie
que deberá ser implementado de manera obligatoria por las clases derivadas. Debe retornar undouble
con el resultado del cálculo de superficie (área) para la figura correspondiente.Agregar el método
CalcularPerimetro
que deberá ser implementado de manera obligatoria por las clases derivadas. Debe retornar undouble
con el resultado del cálculo del perímetro para la figura correspondiente.Crear un proyecto de consola y en el método
Main
:- Crear una lista de figuras.
- Agregar a la lista una figura de cada tipo.
- Recorrer la lista mostrando:
- El resultado del método
Dibujar
. - El área y el perímetro de cada figura con una precisión de 2 decimales.
- El tipo del objeto (método
GetType
).
- El resultado del método
=============== FIGURA 01 ==================
Tipo: Biblioteca.Circulo
Dibujando Círculo...
Área: 7,14
Perímetro: 12,57
============================================
=============== FIGURA 02 ==================
Tipo: Biblioteca.Cuadrado
Dibujando Cuadrado...
Área: 9,00
Perímetro: 12,00
============================================
=============== FIGURA 03 ==================
Tipo: Biblioteca.Rectangulo
Dibujando Rectángulo...
Área: 32,00
Perímetro: 24,00
============================================
- Responder:
- ¿Por qué la clase
Cuadrado
no está obligada a implementar el métodoDibujar
? ¿Las otras clases están obligadas a hacerlo? - ¿Por qué la clase
Cuadrado
no está obligada a implementar el métodoCalcularSuperficie
? ¿Las otras clases están obligadas a hacerlo? - ¿A qué implementación del método
CalcularPerimetro
llaman los objetos de tipoCuadrado
?
- ¿Por qué la clase
Resolución
Video | Código |
---|