Está en la página 1de 4

Hola, en este módulo trataremos los conceptos de clases y objetos.

Para eso seguiremos el


siguiente plan de temas, clase, atributo, asociación, método de instrucción, objeto, método
constructor, llamado de método, creación de objetos, y finalmente revisaremos un caso de estudio
en el que aplicaremos todos los temas vistos. Iniciemos por el concepto de clase.

Una clase nos permite modelar o representar los elementos que participan en un problema que
queremos resolver. Pensemos, por ejemplo, en una pizzería que quiere tener una aplicación para
administrar la información de sus cocineros y de las pizzas que estos preparan. En este caso las
entidades que hacen parte del problema, o las clases, serán la pizzería, los cocineros y la pizza.

Veamos cómo se declara una clase en Java, y luego usaremos nuestro caso de la pizzería para
hacer un ejemplo. En Java para declarar una clase debemos definir una visibilidad. En caso de que
no esté familiarizado con el concepto de visibilidad, no se preocupe, más adelante lo trataremos
con más detalle. Posteriormente usaremos la palabra class para decir que estamos hablando de
una clase.

A continuación, definiremos un nombre para la clase. Si el nombre está formado por varias
palabras, se recomienda que la primera letra de cada palabra sea mayúscula. Finalmente
abriremos y cerraremos corchetes, entre estos pondremos las características y propiedades de la
clase.

Veamos un ejemplo, tratemos de declarar la clase pizza. Para esto traigamos lo que habíamos
realizado previamente. Diremos entonces que la visibilidad va a ser pública, eso con el fin de que
que cualquier otra clase de nuestro problema pueda ver esta clase. Pondremos la palabra class
para indicar que estamos definiendo una clase, Pizza. Finalmente, no olvidemos abrir y cerrar los
corchetes, donde pondremos las características de la clase.

Un atributo nos permite definir las cualidades, propiedades o características de las entidades o
clases que hacen parte del problema que queremos resolver. Pensemos nuevamente nuestro
ejemplo de la pizzería, allí existen cocineros, estos, por ejemplo, pueden tener un nombre, y
además ellos saben preparar pizzas. Las pizzas por su parte podrían tener un nombre, un costo de
producción, una cantidad producida y un precio de venta. Todas esas cualidades de las clases que
son relevantes para nuestros problemas las llamaremos atributos. Adicionalmente definiremos
que los atributos tendrán un tipo de dato, eso nos permitirá definir en qué dominio del grupo de
valores podrá trabajarse un atributo.

Veamos las pizzas, por ejemplo. En este caso el nombre podrá ser cualquier combinación de letras
o caracteres. El costo de producción será un número real, la cantidad producida deberá ser un
número entero, y el precio también deberá ser un número real.

En Java tenemos dos opciones para definir los tipos de datos. Por una parte, tenemos los tipos
básicos de datos: para números enteros (byte (8 bits), short (16 bits), int (32 bits) y long (64 bits)),
para números reales: float (precisión simple) y double (precisión doble), para boleanos: boolean y
para caracteres: char.

A menos que tengamos la necesidad de ahorrar memoria se recomienda usar el tipo int para los
números enteros, y el tipo double para los números reales. La segunda opción es usar clases,
podemos usar clases propias de Java, como por ejemplo la clase string, la cual nos permite
representar cadenas de caracteres o clases que hayamos definido dentro de nuestro mismo
programa. Posteriormente veremos ejemplos de este caso. Veamos cómo se declaran los atributos
en Java, y después volveremos a nuestro ejemplo de la pizzería para tratar de aplicar lo visto.

Para declarar un atributo en Java debemos iniciar indicando una visibilidad. Posteriormente
indicaremos el tipo. A continuación, definiremos un nombre. Si el nombre está formado por varias
palabras, se recomienda que la primera letra de cada palabra sea mayúscula. Finalmente
incluiremos un ";" para indicar el fin de la declaración. Declaremos los atributos de la clase Pizza y
veamos cómo aplicamos lo que hemos visto. Por ser parte de la clase Pizza, su declaración irá
dentro de la declaración de dicha clase. Iniciemos con el atributo nombre. Su visibilidad será
privada, esto quiere decir que solo la clase Pizza podrá ver y modificar el valor, el tipo de la string,
dado que es una cadena de caracteres. Y el nombre en este caso será nombre. No olvidemos
incluir el ";" para terminar la declaración.

Lo mismo haremos para el caso del atributo costoDeProducción, el cual será de tipo double, dado
que es un número real. El atributo cantidadProducida, el cual será de tipo int, y el atributo
precioDeVenta, el cual será de tipo double.

ya sabemos que para modelar nuestro problema existen clases y que estas pueden tener
atributos. Ahora bien, para establecer las relaciones que puede existir entre las clases de nuestro
problema, usaremos las asociaciones.

Pensemos nuevamente en nuestro ejemplo de las pizzas, allí la pizzería tenía varios cocineros, es
decir que existía una asociación entre esas dos clases. Y, además, cada cocinero podía preparar
varias pizzas. Por lo que también existe una relación entre esas dos clases, para los ejemplos de
esa asociación nos enteramos que existe un cocinero que sabe preparar dos pizzas, la pizza uno y
la pizza dos. Es decir, un cocinero que tiene dos asociaciones con la clase pizza. Veamos cómo se
declara una asociación en java. Para eso traemos los ejemplos, el cocinero y las pizzas. Lo primero
que debemos identificar es la clase en que se declara la relación dado que es el cocinero quien
sabe preparar las pizzas de cada relación en la clase cocinero. Posteriormente al igual que con los
atributos, tendremos una visibilidad de tipo privada.

Posteriormente, vamos a identificar el tipo de la asociación dado que lo que sabe preparar el
cocinero son pizzas, el tipo será pizza. Luego definiremos un nombre para la relación, en este caso,
pizza uno. Y terminamos con un punto y coma para marcar el fin de la declaración. Repetiremos el
mismo proceso para la pizza dos. Adicionalmente, podemos incluir los atributos que sabíamos que
tenía el cocinero, en este caso su nombre.

el concepto de método e instrucción, hasta el momento hemos visto una forma de definir los
elementos que participan en nuestro problema, sus características y las formas en que se
relacionan entre sí. Sin embargo, no tenemos un mecanismo para acceder a esta información,
manipularla o hacer cálculos alrededor de ella.

Para esto nos servirán los métodos. En general, los métodos nos permiten definir el
comportamiento de una clase. Es decir, la forma en que recibe, manipula y entrega información a
otras clases. Pensemos en nuestras pizzas, de una pizza quisiéramos, por ejemplo, poder informar
la cantidad producida o modificar su precio o calcular e informar las ganancias que generan por
unidad.
Veamos cómo se declara un método en Java y luego trataremos de aplicar lo visto en nuestro
ejemplo. Para crear un método, iniciamos definiendo la visibilidad, posteriormente un tipo de
retorno, esto es el tipo de dato de la información que entrega el método. En caso de que el
método no entregue información, diremos que es de tipo voit.

A continuación, indicaremos un nombre para el método. En caso de que el nombre tenga varias
palabras se recomienda usar la misma técnica usada en los atributos. Posteriormente indicaremos
los parámetros del método, esto es la información adicional, es decir, que no se encuentra
definida previamente en la clase, y que necesita el método para poder completar las tareas que le
hemos asignado.

Finalmente abriremos y cerraremos corchetes, entre estos pondremos las instrucciones del
método, es decir, cada una de los pasos que debe realizar para cumplir las tareas que le hemos
asignado, a la parte superior del método la llamaremos "asignatura", y a la parte entre llaves o
corchetes la llamaremos "cuerpo". Tratamos de declarar los métodos que nos permiten realizar a
las acciones planteadas sobre las pizzas, iniciemos con el método que informa la cantidad
producida. Para esto traigamos la declaración de la clase pizza que ya hemos construido, notemos
que lo que se quiere hacer es devolver el valor almacenado en el atributo, cantidad producida.
Para construir el método diremos que la visibilidad es pública, diremos que el tipo de retorno es
int, pondremos un nombre significante, por ejemplo, "dar cantidad producida" y dado que no
necesitamos de información adicional para poder completar las tareas que le hemos asignado al
método, diremos que los parámetros son vacíos.

Como instrucción, usaremos la instrucción de retorno, esto es pondremos la palabra, "return"


seguida del valor que queremos informar, debemos notar que el tipo de dato del valor que
queremos informar y el tipo del método son el mismo, ahora tratemos de construir el método que
nos permite modificar el precio de la pizza, para esto vas a traer la declaración de la clase pizza, en
este caso debemos cambiar el valor del atributo, "precio de venta". Iniciemos nuevamente
diciendo que el método es público, esto quiere decir que podrá ser accedido por otras clases, dado
que el método no informa ningún valor, simplemente modifica uno, miremos que es de tipo voit,
le pondremos un nombre significante, por ejemplo, “cambiar precio” y diremos que como
parámetro requiere el nuevo precio que queremos asignar a la pizza.

Para declarar los parámetros siempre indicaremos su tipo y el nombre para poder referirnos a
ellos, como instrucción en este caso usaremos una instrucción designación, esto es diremos a
quién le vamos a asignar el valor, igual y el valor que queremos asignar, para nuestro ejemplo es,
al atributo precio de venta y le asignaremos el valor que viene almacenado en el parámetro nuevo
precio. Finalmente construyamos el método que nos permite calcular e informar la ganancia que
genera una unidad de la pizza. Nuevamente diremos que el método es público, diremos que es de
tipo double y le pondremos el nombre, “dar ganancia unitaria”, dado que para hacer el cálculo
solo necesitamos los atributos costo de producción y precio de venta, no necesitamos parámetros,
como instrucción ya sabemos que podemos usar la instrucción de retorno, en este caso
devolveremos la diferencia entre el precio de venta y el costo de producción.

En este caso, dentro de la instrucción de retorno hemos incluido una operación aritmética lo cual
es completamente válido. Veamos otra forma de construir el mismo método, pero está vez lo que
haremos es crear una variable, para hacer esto debemos indicar el tipo de la variable, un nombre
para poder referirnos a ella y el valor que le queremos asignar. En este caso, hemos dicho que a la
variable resta le queremos asignar el resultado de la diferencia entre el precio de venta y el costo
de producción de la pizza. Finalmente, para completar el método, incluiremos nuevamente una
instrucción de retorno, en este caso devolvemos la variable que acabamos de crear. Veamos un
resumen de lo que hemos visto. Los métodos tienen una asignatura y un cuerpo, qué es las
instrucciones que debe realizar para completar las tareas que le hemos asignado, las instrucciones
que podemos incluir hasta ahora son, instrucciones de retorno, de asignación, operaciones
aritméticas y creación de variables.

Las operaciones aritméticas pueden ser de suma, de resta, de multiplicación, la cual marcaremos
con el asterisco, de división y de residuo o módulo, esto es el residuo de la división entera. En
cuanto a la asignación, podemos describir que una variable o atributo es igual a un valor, pero en
este caso, por ejemplo, que tenemos que "x" es igual a "x+y" podemos resumirlo a abreviarlo
como "x+=y". En caso que a nuestra variable solo queramos aumentarle una unidad, es decir, que
queramos hacer "x+=1", podemos resumirlo como "x++". Veamos ahora algunas consideraciones
especiales para la operación de división. En este caso, el tipo de dato del resultado está dado por
el tipo de dato de los operandos. Es decir, si hacemos una división entre enteros y reales, reales y
reales o reales y enteros, tendremos como resultado un real. Sin embargo, si realizamos una
división entre dos enteros, tendremos como resultado un entero.

Esto quiere decir, si tenemos las variables "X=5" y "y=2" al realizar la división, lo que obtendremos
es un 2, aunque esperemos un 2.5 para evitar esto lo que podemos hacer es usar la técnica de
casting, es decir, indicarle a Java que tome el resultado como un valor de otro tipo, en este caso un
valor real. Finalmente, veamos algunas consideraciones sobre la clase string. Sobre estos datos
podemos hacer operación de suma, es decir concatenar un string con otro string o con variables y
atributos que tengan otro tipo de dato. Por ejemplo, podemos hacer string más string, string más
double, o string más int, en todos estos casos el resultado será un string. Por ejemplo, si tenemos
las variables de tipo string "hola" y la variable "d" que almacenar la letra "i" y además tenemos la
variable "x" que almacena el valor cinco. Al hacer la operación "c+d" tendremos como resultado
hola i, al hacer la operación "c" más un espacio más "d" más adiós tendremos como resultado el
string "hola y adiós", al hacer la operación "c+x" tendremos como resultado el string "hola cinco" y
al hacer la operación "c" más la cadena de caracteres o el string "x" tendremos como resultado, el
string "hola x".

También podría gustarte