El problema que resolveremos aplicando Programación Orientada a Objetos es el cálculo del área y perímetro de un círculo. Para realizar estos cálculos aplicaremos las siguientes fórmulas:

  1. Area = PI x radio²
  2. Perimetro = PI x diametro
  3. Diametro = 2 x radio

 Para diseñar la solución lo haremos creando una clase llamada Circulo que contenga los atributos: radio, area y perimetro, así como los métodos: calculeArea, calculePerimetro, imprimeArea, imprimePerimetro y lee. El diseño se muestra en el siguiente diagrama UML.

UML de la clase círculo
UML de la clase Círculo

A partir del diagrama UML se procede a la codificación en Java. La herramienta de desarrollo o Entorno Integrado de Desarrollo (IDE) será Netbeans 7.3.

Selecciona tipo de Proyecto Java
Selecciona tipo de Proyecto Java

Una vez iniciado Netbeans, procedemos a crear un Nuevo Proyecto de Java, y seleccionaremos un proyecto del tipo Java Application, como se muestra en la imagen.

Una vez seleccionado este tipo de proyecto se procede a ponerle nombre al proyecto. El nombre que le pondremos será practica1. Netbeans creará una carpeta con este nombre dentro del directorio en donde se almacenan los proyectos de Netbeans.

Estructura del proyecto Practica1
Estructura del proyecto Practica1

Posteriormente vamos a crear un paquete llamado programa para que ahí se almacenen las clases que vamos a crear. La estructura del proyecto se muestra en la siguiente imagen.

 A partir de esto vamos a crear la clase Circulo, para ello seleccionamos New File-Java-Java Class y le asignamos el nombre de Cirulo. Netbeans creará el archivo Circulo.java dentro del paquete programa.

atributos
Declaración de atributos

Enseguida procedemos a declarar los atributos de la clase, se declararán como privados para restringir su acceso fuera de la clase (encapsular los atributos). En la siguiente figura se muestra el el código para declarar los atributos.

Como los atributos de la clase se declararon como privados (private) es necesario crear los métodos para poder manipularlos desde una clase externa a Circulo. Para ello vamos a crear un par de métodos para cada uno de los atributos. El primer método permite recuperar el valor almacenado en el atributo, ya que devuelve dicho valor y lo llamaremos get. El otro método nos permite guardar un valor en el atributo y le llamaremos set. En la siguiente imagen se muestran parte de estos métodos y su código. El código del resto de los atributos es similar.

metodos de acceso a tributos
Métodos get y set para tener acceso a los atributos

Como los atributos de la clase se declararon como privados (private) es necesario crear los métodos para poder manipularlos desde una clase externa a Circulo. Para ello vamos a crear un par de métodos para cada uno de los atributos. El primer método permite recuperar el valor almacenado en el atributo, ya que devuelve dicho valor y lo llamaremos get. El otro método nos permite guardar un valor en el atributo y le llamaremos set. En la siguiente imagen se muestran parte de estos métodos y su código. El código del resto de los atributos es similar.

Después procedemos a codificar los métodos que se definieron para la clase. El primer método codificado es calculeArea. En el se utiliza la clase predefinido por Java llamado Math la cual contiene una serie de constantes y funciones matemáticos. Dentro de ella encontramos la constante PI.

codigo del circulo
Código de los métodos de la clase Circulo

El segundo método codificado es calculePerimetro y también hace uso de la constante PI de la clase Math de Java.

Los métodos imprimeArea e imprimePerimetro hacen uso de la clase de la librería swing JOptionPane, particularmente del método showMessageDialog que despliega una ventana en donde se mostraran los resultados del área y perímetro respectivamente.

El último método a codificar es lee, el cual usa el método showInputDialog de la clase JOptionPane para desplegar una caja de dialogo en donde el usuario tecleará el valor del radio del círculo. Como el valor devuelto por showInputDialog es un String, se debe convertir a float mediante el método parseFloat de la clase Float de Java. De esta forma ha quedado implementado el diagrama UML de la clase Circulo en Java.

PruebaCirculo
Código de PruebaCirculo

Finalmente haremos una nueva clase que le llamaremos PruebaCirculo.java para ver el funcionamiento de la clase Circulo. La clase PruebaCirculo contiene el método main en el cual se declara un objeto b de tipo Circulo. Posteriormente se llaman los distintos métodos del objeto circulo como se muestra en la figura.

El programa primero va a leer el radio del circulo b, posteriormente imprimirá el área y finalmente imprime el perímetro como se muestra en las siguientes imágenes.

lee
Lee el radio

 

ImprimeArea
Imprime el área del circulo

 

imprimePerimetro
Imprime el perímetro del circulo

Espero que este ejemplo muy sencillo les sea de utilidad y nos vemos en el siguiente ejemplo.

Powered By DT Author Box

Written by Mtro. Gustavo Reyes Hernández

Maestro en Gestión de Tecnologías de la Información
Investigador sobre el uso de las TIC’s en la educación

Area y perímetro de un círculo en Java con POO
Tagged on:                                 

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: