Sunteți pe pagina 1din 3

Práctica 3

Clases Abstractas y atributos


Estáticos
Objetivo:
Que el alumno utilice el ambiente de Desarrollo NetBeans para editar, compilar y
probar clases que heredan de una clase abstracta, usen polimorfismo y contengan
atributos estáticos

Entregables:
Al final de la sesión deberán enviar por correo electrónico el proyecto comprimido
generado en la práctica.

Desarrollo:
Siguiendo el procedimiento establecido en el tutorial: Programas de Consola en
Java con NetBeans haz lo siguiente:

1. Crea un proyecto llamado figuras_ID donde ID es tu ID separada por


un guión bajo (_) y nombre a la clase principal pruebas.Prueba, esto es,
la clase principal se llamará Prueba y estará en el paquete pruebas.

2. Edita las clases Figura, Circulo, Cuadrado, Rectangulo y Triangulo


cuyo diagrama de clases se muestra en la figura, en un paquete llamado
figuras. Los métodos a implementar son los siguientes:

Figura:

• Un constructor que recibe como parámetro una cadena con el tipo de


figura e inicializa con él, el atributo tipo. El constructor debe incrementar
el atributo contador en uno y asignarle su valor al atributo numSerie.
• String toString() que regresa una cadena con los valores de los
atributos tipo y numSerie. Los valores de los atributos irán separados
por comas sin saltos de línea u otra información adicional.
2 Clases abstractas y Atributos Estáticos

«abstract»
Figura
#tipo : String
«static» #contador : int = 0
#numSerie : int
#perimetro : float
#superficie : float
+Figura()
«abstract» +calculaPerimetro() : float
«abstract» +calculaSuperficie() : float
+toString() : String

«implementation class» «implementation class» «implementation class» «implementation class»


Circulo Cuadrado Rectangulo Triangulo
-radio : float -lado : float -ancho : float -lado_a : float
+circulo() +Cuadrado() -largo : float -lado_b : float
+calculaPerimetro() : float +calculaPerimetro() : float +Rectangulo() -lado_c : float
+calculaSuperficie() : float +calculaSuperficie() : float +calculaPerimetro() : float +Triangulo()
+toString() : String +toString() : String +calculaSuperficie() : float +calculaPerimetro() : float
+toString() : String +calculaSuperficie() : float
+toString() : String

Circulo, Cuadrado, Rectangulo, Triangulo

• Constructores que reciban como parámetros las dimensiones de cada


figura e inicialicen con ellos los atributos de su respectiva clase. Cuando
este constructor invoca al constructor de su clase padre le envía una
cadena constante: “Circulo”, “Cuadrado”, “Rectangulo” o “Triangulo”,
respectivamente.

• calculaPerimetro() y calculaSuperficie() que calculan el


perímetro y la superficie de su respectiva figura, y guardan sus valores en
los atributos perímetro y superficie.

Las fórmulas para el perímetro y la superficie de cada figura están en la


siguiente tabla:

Figura Perímetro Superficie


Círculo 2*π*radio π*radio*radio
Cuadrado 2*lado lado*lado
Rectángulo 2*ancho + 2*largo ancho*largo
Triángulo lado_a + lado_b + Sqrt(s*(s – lado_a)*(s –
lado_c lado_b)*(s – lado_b))

• String toString() que regrese una cadena con los valores de los
atributos tipo y numSerie., los valores de sus dimensiones, y los
valores de los atributos perimetro y superficie. Los valores de los
atributos irán separados por comas sin saltos de página u otra
información adicional.

ITSON Manuel Domitsu Kono


Práctica 3 Clases abstractas y Atributos Estáticos 3

3. Edita el método main() de la clase Prueba para que haga lo siguiente (y en


ese orden):

a) Cree un objeto llamado figura0, de la clase Figura. ¿Qué pasa?,


¿Por qué?
b) Declare una referencia a Figura: figura1 e inicialícela a un objetos
del tipo Circulo con un radio r = 1.0. ¿Por qué puede hacerse eso?
c) Mande llamar a los métodos calculaPerimetro() y
calculaSuperficie(). ¿A qué métodos se invocan?
d) Despliegue los valores de los atributos del objeto, usando el método
toString(). ¿A qué método se invoca? ¿Son los resultados
correctos?
e) Repita los pasos b) a d) usando las referencias a Figura: figura2,
figura3 y figura4 e inicialícelas a objetos de cada una de las figuras
siguientes y con los siguientes parámetros:

Objeto Clase instanciada Dimensiones


figura2 Cuadrado lado= 2.5
figura3 Rectangulo ancho = 1.6, largo = 3.0
figura4 Triangulo lado_a = 2.0, lado_b = 2.5, lado_C = 3.

4. Después de realizar los puntos anteriores haga lo siguiente antes de


entregar el proyecto:

• Zippeé el directorio del proyecto (la carpeta figuras_ID) y nombre al


archivo comprimido: figuras_ID donde ID es tu ID separada por un
guión bajo (_).
• Envía el proyecto por correo electrónico al maestro. En el mensaje de
correo responda a las preguntas planteadas en la práctica.

ITSON Manuel Domitsu Kono

S-ar putea să vă placă și