Recurso Educativo Abierto

# 1.1 Clase y Objeto

# Clase

Una clase es "un tipo definido por el usuario; son los bloques de construcción fundamentales de los programas orientados a objetos" (Joyanes & Zahonero, 2011, p. 192).

Es la unidad básica (o estructura) que encapsula toda la información de un Objeto.

Es un patrón para la definición de atributos y métodos para un tipo de objetos.

A través de ella podemos modelar (una Casa, un Auto, una Cuenta Corriente, etc.)

# Objeto

Un objeto es “una entidad (algo) que tiene un estado, un comportamiento y una identidad” (Booch, como se citó en Joyanes & Zahonero, 2011). También recibe el nombre de "instancia"

Sus características son:

- Identidad: un identificador
- Estado: un conjunto de propiedades (atributos)
- Comportamiento: Un conjunto de operaciones (métodos)
- Un objeto se caracteriza por un numero de operaciones y un estado que recuerda el efecto de operaciones.
  El estado se representa: atributos y relaciones
- El comportamiento se representa: por sus operaciones y métodos.
  Objeto= identidad + estado + comportamiento

# Atributos y Métodos (operaciones)

- Atributo: Es una característica fundamental de cada objeto de una clase.
  - Una objeto puede tener varios atributos
  - Todos los atributos tienen un valor.
- Métodos (operaciones): Es una acción que se realiza sobre un objeto para consultar o modificar su estado

Esto quiere decir que una clase nos ayuda a describir a un nuevo grupo de objetos que comparten características dentro de un programa. Para poder definir estas clases se usan dos tipos elementos o miembros de elementos:

- Atributos - son los datos o la información que describen las características esenciales de los objetos o instancias de la clase.
- Métodos - son las operaciones que pueden realizar las instancias (objetos), es decir, sus acciones.

Referencias:

1. Joyanes, A. (2011). Programación en Java6. Algoritmos, programación orientada a objetos e interfaz gráfica de usuario (3ª ed). Mc Graw Hill.
2. James Martin, James J. (2007), Análisis y Diseño Orientado a Objetos (3ª. Ed.), Prentice Hall.

# Lenguaje de Modelado Unificado UML

UML, es un Lenguaje de Modelado Unificado para representar relaciones entre elementos de un sistema de información.

El modelado sirve para el diseño de sistemas, aun en aplicaciones de pequeño tamaño se obtienen beneficios de modelado, sin embargo es un hecho que entre más grande y más complejo es el sistema, más importante es el papel de que juega el modelado por una simple razón: "El hombre hace modelos de sistemas complejos porque no puede entenderlos en su totalidad".

UML es una técnica para la especificación sistemas en todas sus fases. Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory.

La versión 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc.

Los principales beneficios de UML son:

- Mejores tiempos totales de desarrollo (de 50 % o más).
- Modelar sistemas (y no sólo de software) utilizando conceptos orientados a objetos.
- Establecer conceptos y artefactos ejecutables.
- Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
- Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
- Mejor soporte a la planeación y al control de proyectos.
- Alta reutilización y minimización de costo

En la POO usamos UML para modelar nuestra solución en Java y diseñamos las clases y sus relaciones entre clases como son los diagramas de clases

# Ejemplo de Diagrama de Clase

# Referencias

Umbaugh, J., Jacobson, I., & Booch, G. (2005). El Lenguaje Unificado de Modelado Manual de Referencia Segunda Edición. Madrid: Pearson

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0