Ejercicio 2: Ampliación de las clases circle y sphere

En este ejercicio se utiliza el visualizador de C++ y el diagrama de clase que se ha creado en el primer ejercicio para añadir una operación a las clases circle y sphere.

En el ejercicio anterior se ha utilizado el visualizador de C++ para ver la jerarquía del proyecto Shapes de C++. También puede utilizar el visualizador de C++ para añadir clases a un proyecto, o bien, para añadir propiedades y métodos a una clase. En este ejercicio, va a añadir el método getCircumference a las clases circle y sphere. El método getCircumference calcula la circunferencia de la forma y el círculo por medio del radio.

Adición del método getCircumference a la clase circle

La fórmula que calcula la circunferencia de un círculo es pi x r x r, donde r es el radio del círculo. La constante global pi se almacena en la clase shape básica.

Para añadir el método getCircumference a la clase circle:
  1. En el editor de diagramas, en el diagrama classdiagram.dnx, pulse el botón derecho del ratón sobre la clase circle y, a continuación, pulse Añadir C/C++ > Método.
  2. En la ventana Crear método C++, en el campo Nombre, escriba getCircumference.
  3. En la lista Tipo de retorno, seleccione double y pulse Finalizar.
  4. En la clase circle, efectúe una doble pulsación en el método getCircumference y, en el editor de código, especifique el cuerpo del método getCircumference, tal como se indica a continuación:
    {return pi * (2 * getSize());};
  5. En el editor de código, añada la línea de código siguiente para el método print:
    << "\n\tCircumference = " << getCircumference()

Ha añadido el método getCircumference a la clase circle. El método getCircumference utiliza la variable size del método getSize y la constante pi global para calcular la circunferencia. También ha modificado el método print para imprimir la salida del método getCircumference.

Adición del método getCircumference a la clase sphere

La fórmula que calcula la circunferencia de una esfera en su diámetro más amplio es la misma que la que se utiliza en el paso anterior.

Para añadir el método getCircumference a la clase sphere:
  1. En el editor de diagramas, en el diagrama classdiagram.dnx, pulse el botón derecho del ratón sobre la clase sphere y, a continuación, pulse Añadir C/C++ > Método.
  2. En la ventana Crear método C++, en el campo Nombre, escriba getCircumference.
  3. En la lista Tipo de retorno, seleccione double y pulse Finalizar.
  4. En la clase sphere, efectúe una doble pulsación en el método getCircumference y, en el editor de código, especifique el cuerpo del método getCircumference, tal como se indica a continuación:
    {return pi * (2 * getSize());};
  5. En el editor de código, añada la línea de código siguiente para el método print:
    << "\n\tCircumference = " << getCircumference()

Ha utilizado las herramientas de desarrollo visual de UML y el editor de código para añadir el método getCircumference a las clases circle y sphere.

Ejecución de la aplicación Shapes

Puede ejecutar la aplicación modificando la clase main.cpp. La clase main.cpp es el controlador para la aplicación Shapes de C++.

Para ejecutar la aplicación Shapes:
  1. En la vista Explorador de proyectos de C/C++, efectúe una doble pulsación en la clase main.cpp.
  2. En el editor de código, en el cuerpo principal del programa, añada el código siguiente:
    //crear una instancia y ejecutar la clase sphere
    sphere sp;
    sp.print();
    sp.set();
    sp.print();
  3. Para guardar y construir el proyecto, pulse Archivo > Guardar.
  4. Pulse Ejecutar > Ejecutar.
  5. En la ventana Ejecutar, en la lista Configuraciones efectúe una doble pulsación en C/C++ Local.
  6. En el campo Proyecto, escriba Shapes.
  7. En el campo Aplicación de C/C++, pulse Examinar y seleccione el archivo ejecutable Shapes.exe en el directorio Shapes\debug.
  8. Pulse Ejecutar.

El programa Shapes se ejecuta en la vista Consola y muestra una salida similar a la siguiente:

Especificar el radio de la esfera: 10
Especificar el color de la esfera: Azul
Esfera:
	Radio = 10
	Circunferencia = 62,8319
	Área   = 1256.64
	Volumen = 4188.79
	Color  = Azul

El programa muestra el tamaño y el color de la forma actual y le solicita que especifique valores para la nueva forma. Los atributos de la nueva forma se visualizan en la vista Consola. Puede modificar el código en main.cpp para ejecutar la clase circle.

Para continuar, vaya al Ejercicio 3: Creación de la clase cone.