1.1.1 Clases y objetos

Objeto

Un objeto es una entidad con identidad bien definida que encapsula estado y conducta. El estado es representado por sus atributos y relaciones, la conducta es representada por sus operaciones.

Un objeto es una entidad con fronteras bien definidas, es decir, el propósito de un objeto debe ser claro. Un objeto tiene dos tipos de componentes: atributos y operaciones.

  • Los atributos y las relaciones de un objeto representan su estado.
  • Las operaciones representan la conducta del objeto.

 

Un objeto tiene estado

El estado de un objeto son las condiciones en las que se encuentra en un momento en el tiempo. Este estado normalmente cambia a través del tiempo.

El estado de un objeto es implantado por un conjunto de propiedades denominado atributos, junto con los valores de estas propiedades y las ligas que posee el objetos hacia otros.

El estado no es definido por un atributo “estado” o un subconjunto de atributos, sino por todos los atributos del objeto y las ligas hacia otros objetos. 

 

Un objeto tiene conducta

La segunda característica de un objeto es su conducta. Los objetos deben reflejar los conceptos que modelan incluyendo su comportamiento. La conducta determina cómo un objeto actúa y reacciona a las solicitudes de otros. La conducta de un objeto es representada por las operaciones que un objeto realiza.  

Un objeto tiene identidad

En el mundo real, dos personas pueden compartir las mismas características: nombre, fecha de nacimiento, ocupación, sin embargo, no hay duda de que son individuos distintos, con su propia identidad.

El mismo concepto es válido para los objetos. Aunque dos objetos compartan el mismo estado (atributos y relaciones), siguen siendo objetos independientes con su propia identidad.

Hay cuatro principios básicos de la tecnología orientada a objetos:

  • Abstracción
  • Encapsulación
  • Modularidad
  • Herencia
 

Clase

Una clase puede definirse como:

Una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y significado.

  • En un dominio de problema se pueden identificar una gran variedad de objetos.
  • Identificando similitudes entre ellos y agrupándolos en clases nos ayuda a disminuir la complejidad de un problema.

La notación que utiliza UML para representar una clase nos permite visualizarla sin necesidad de que esté ligada a algún lenguaje de programación, lo que permite enfatizar sus partes estructurales: nombre, atributos y operaciones.

Gráficamente una clase es representada por un rectángulo con compartimentos. 

 

Comportamientos de una clase

Una clase tiene tres secciones:
  • El nombre de la clase
  • La estructura (atributos)
  • La conducta (operaciones)

 

La relación entre clases y objetos

Una clase es una definición abstracta de un objeto.
  • Define la estructura y conducta de cada objeto de la clase.
  • Sirve como una plantilla para crear objetos.
Los objetos son agrupados en clases.