Sei sulla pagina 1di 41

Unidad II. Terminología básica.

Primera parte.
Terminología
INDICE básica

 OBJETO
 MENSAJE
 CLASE
Terminología
básica
1 Objeto
Un objeto (compuesto por atributos y métodos) es la instancia
de una clase.
- El señor Pérez es un objeto de la clase Persona.
Un objeto es simplemente una colección de información
relacionada con cierta funcionalidad.
Un objeto puede ser:
- algo que tenga una manifestación o correspondencia en el
mundo real (tal como un objeto empleado),
- algo que tenga algún significado virtual (tal como una
ventana en la pantalla), o
- alguna abstracción adecuada dentro de un programa (una
lista de trabajos a realizar)
Terminología
básica
1 Objeto (Cont.)
Un objeto es una entidad atómica formada por la unión del estado y del
comportamiento.
 Estado: atributos
 Comportamiento: métodos

Proporciona una relación de encapsulamiento que asegura una fuerte


cohesión interna y un débil acoplamiento con el exterior.

Un objeto revela su rol verdadero y su responsabilidad cuando al enviar


mensajes se convierte en parte de un escenario de comunicaciones.

Un objeto contiene su propio estado interno y un comportamiento


accesible a otros objetos.
Terminología
básica
1 Objeto (Cont.)
Los objetos pueden ser:
 Tangibles o entidades físicas: una montaña, un grano de arena.

 Conceptos (no tienen masa): una cuenta corriente, una póliza


de seguros, los datos personales de un alumno de una
universidad.

 Pertenecientes a mundos virtuales: asociados con internet.

 De software: abstracciones de las entidades del mundo real con


el fin de controlarlo o simularlo; listas enlazadas, árboles, etc.
Terminología
básica
1 Objeto (Cont.)
En síntesis, un objeto se compone dedatos que describen el
objeto y las operaciones que se pueden ejecutar sobre ese
objeto.

La información almacenada en un objeto empleado, puede


ser:
 información de identificación (nombre, dirección, edad, titulación)
 información laboral (titulo del trabajo, salario, antigüedad), etc.

Las operaciones realizadas pueden incluir


 la creación del sueldo o
 la promoción de un empleado.
Terminología
básica
1 Objeto (Cont.)
Los objetos tienen propiedades específicas, tales como
posición, tamaño, color, forma, etc. que definen su
estado.

Los objetos también tienen ciertos comportamientos que


los hacen diferentes de otros objetos.

Booch define un objeto como “algo


que tiene un estado,
un comportamiento y una identidad”.
Terminología
básica
1 Objeto (Cont.)
Supongamos una máquina de una fábrica.
 El estado de la máquina puede ser encendido/apagado, y
trabajar a su potencia, velocidad máxima, velocidad actual,
temperatura, etc.

 Su comportamiento puede incluir acciones para arrancar y


parar la maquina, obtener su temperatura, activar o desactivar
otras máquinas, cambiar velocidad.

 Su identidad se basa en el hecho de que cada instancia de una


máquina es única, tal vez identificada por un número de serie.
Terminología
básica
1 Objeto (Cont.)
Las características que se eligen para enfatizar en el estado y el
comportamiento se apoyarán en como un objeto máquina se
utilizará en una aplicación o programa.

En el diseño de un programa orientado a objetos, se crea una


abstracción (un modelo simplificado) de la máquina basado en las
propiedades y comportamiento que son útiles en el tiempo.

Cualquier programa orientado a objetos puede manejar muchos


objetos.
Terminología
básica
2.1 Objeto (Cont.)
Ejemplo: un programa que maneja el inventario de un almacén de
ventas al por menor, utiliza un objeto de cada producto manipulado
en el almacén.

El programa manipula los mismos datos de cada objeto, incluyendo


el número de producto, la descripción, el precio, el número de
artículos en existencia y el momento para hacer nuevos pedidos.
Terminología
básica
1 Objeto (Cont.)
Cada objeto sabe también cómo ejecutar acciones con sus
propios datos.

El objeto producto del programa de inventario, por ejemplo,


conoce cómo crearse a sí mismo y establecer los valores
iniciales de todos sus datos, cómo modificarlos y cómo evaluar
si hay artículos suficientes en existencia para cumplir una
petición de compra.

En esencia, lo más importante de un objeto es reconocer que


consta de datos y las acciones que puede ejecutar.
Terminología
básica
1 Objeto (Cont.)
Un objeto de un programa de computadora no es algo que se
pueda tocar. Cuando un programa se ejecuta, la mayoría
existe en memoria principal.

Los objetos se
crean por un programa para su uso mientras el
programa se está ejecutando.

A menos que se guarden los datos de un objeto en un disco, el


objeto se pierde cuando el programa termina (este objeto se
llama transitorio, para diferenciarlo del objeto permanente
que se mantiene después de la terminación del programa).
Terminología
básica
Representación gráfica en UML
Un objeto se representa por un rectángulo en cuyo interior se
escribe su nombre subrayado.
El diagrama de representación tiene tres modelos válidos.
Terminología
básica
Representación gráfica en UML
En el siguiente diagrama se representa un cliente de un banco y las
cuentas asociadas con él.

Las líneas que conectan los objetos representan los enlaces que
existen entre el cliente y sus cuentas.
Terminología
básica
Representación gráfica en UML
El rectángulo con un doblete en la esquina superior derecha
representa un comentario.
Las líneas punteadas implementan la conexión de cualquier
elemento del modelo a una nota descriptiva o comentario.
Es más común usar un nombre genérico para los objetos.

:Estudiante :Profesor Estudiante

La ausencia de cualquier texto precedente delante de los dos


puntos significa que se esta hablando de tipo de objetos genéricos o
anónimos de tipos Estudiante y Profesor.
Terminología
básica
Características de los objetos
Todos los objetos tienen tres características o propiedades
fundamentales, que sirven para definirlos de modo inequívoco:
 Un estado,
 un comportamiento y
 una identidad.

Estado
El estado de un objeto, en un momento dado se corresponde con
una selección determinada de valores a partir de valores posibles de
los diversos atributos.

Un atributo es una propiedad o característica de una clase y


describe un rango de valores que la propiedad podrá contener en
los objetos de una clase.
Terminología
básica
Estado
Una clase podrá contener varios atributos o ninguno.
Los atributos de una clase son las partes de información que
representan el estado de un objeto. Así, los detalles de la clase
Carro son atributos: color, numero de puertas, potencia, etc.
Los atributos pueden ser tipos primitivos (enteros, reales, …),
compuestos (cadena, complejo, …) o relaciones con otros objetos
complejos.
Un auto

Azul marino
1 800 centímetros
cúbicos
Audi A3
150 CV
Terminología
básica
Estado
Un nombre de un atributo puede ser cualquier conjunto de
caracteres, pero dos atributos de la misma clase no pueden tener el
mismo nombre.

Un atributo se puede mostrar utilizando dos notaciones diferentes:


en línea o en relaciones entre clases.

Por convenio el nombre de un atributo puede ser de una palabra o


varias palabras unidas.

Si el nombre es de una palabra se escribe en minúsculas.


Terminología
básica
Estado
Siel nombre es de mas de una palabra, las palabras se unen y cada
palabra, excepto la primera, comienza con una letra mayúscula.

Ejemplos de nombres de atributos: marca, númeroSerie.

UML proporciona la opción de indicar información adicional para


los atributos.

Se puede especificar un tipo para cada valor de atributo. Para


indicar el tipo se usan dos puntos (:) que separan el nombre del
atributo del tipo.
Terminología
básica
Estado
Se puede indicar también un valor por defecto (en forma
predeterminada) para un atributo.

nombre: tipo = valor_por_defecto

miLavadora : Lavadora

marca : String = «Braun»


nombreModelo : String =
«OroXC»
numeroSerie : String =
«GL235F»
Capacidad : integer = 30
Terminología
básica
Multiples instancias de un objeto
En un diagrama de clases se pueden representar múltiples
instancias de un objeto mediante íconos múltiples.
Ejemplo: si se necesita representar una lista de vuelos de Iberia
para su representación en un diagrama de clases u objetos, se
puede utilizar un ícono con múltiples instancias para mostrar la lista
de vuelos. La notación UML para representar instancias múltiples es:

Vuelo
Terminología
básica
Evolución de un objeto
En un objeto, hay atributos cuyos valores van variando, tal como la
capacidad (cantidad de gasolina en el tanque), ya que a medida que
avance, disminuirá la cantidad que contiene el depósito.
Hay otros atributos que no cambian, como el color o la marca del
vehículo.
Terminología
básica
Comportamiento
Cada componente del comportamiento individual de un objeto se
denomina operación.

Una operación es algo que la clase puede realizar o que se puede


hacer a una clase.

Las operaciones de un objeto se disparan (activan) como resultado


de un estímulo externo representado en la forma de un mensaje
enviado a otro objeto.

Una operación de una clase describe qué hace una clase pero no
necesariamente cómo lo hace.
Terminología
básica
Comportamiento
Cada componente del comportamiento individual de un objeto se
denomina operación.

UML hace una diferencia clara entre la especificación de la manera


de invocar un comportamiento (una operación) y la implementación
real de ese comportamiento (método o función).

Las operaciones en UML se especifican en un diagrama de clase con


una estructura compuesta por nombre, un par de paréntesis (vacíos
o con la lista de parámetros que necesita la operación) y un tipo de
retorno.
Terminología
básica
Comportamiento
Sintaxis operaciones

1. nombre (parámetros) : tipo_retorno


2. nombre ( )

CuentaCorrient
e

nombre: String
tipo : String
número: float

ingresar() :
float
retirar() : float
Terminología
básica
Comportamiento
Al igual que sucede con los nombres de atributos,el nombre de una
operación se pone en minúsculas si es una palabra; en el caso de
que el nombre conste de más de una palabra se unen ambas y
comienzan todas las palabras reservadas después de la primera con
una letra mayúscula.

Ejem: aceptarRopa ( r: String )


ingresar ()

El estado y el comportamiento están enlazados;realmente, el


comportamiento en un momento dado depende del estado actual y
el estado puede ser modificado por el comportamiento.
Terminología
básica
Identidad
Es la propiedad que diferencia un objeto de otro objeto similar.

Hace posible distinguir cualquier objeto sin ambigüedad, e


independientemente de su estado.

No se representade manera específica en la fase de modelado de


un problema. Cada objeto tiene en forma implícita una identidad.

Durante la fase de implementación, la identidad se crea por lo


general utilizando un identificador que viene naturalmente del
dominio del problema.

Los autos tienen un número de placa, los teléfonos celulares tienen


un número a donde se pueden llamar, una persona tiene un número
de DUI o de pasaporte.
Terminología
básica
2 Mensaje.
Un mensaje es una instrucción que se envía a un objeto y que
cuando se recibe ejecuta sus acciones.

Un mensaje es una comunicación entre objetos en la que un objeto


(el cliente) solicita al otro objeto (el proveedor o servidor) hacer o
ejecutar alguna acción.

El usuario de un objeto se comunica con el objeto mediante su


interfaz, un conjunto de operaciones definidas por la clase del
objeto de modo que sean todas visibles al programa.
Terminología
básica
2. Mensaje.
Los mensajes se pueden mostrar en UML mediante un diagrama de
secuencia.

1. Visualizar
Terminología
básica
2. Mensaje.
El mensaje puede ser reflexivo: un objeto se envía un mensaje a si
mismo.

Objeto 1

Mensaje 1
Terminología
básica
2. Mensaje.
La noción de un mensaje es un concepto abstracto que se puede
implementar de varias formas, tales como una llamada a una
función, un evento o suceso directo, una interrupción, una
búsqueda dinámica, etc.
Un mensaje combina flujos de control y flujos de datos en una
única entidad. Las flechas simples indican el flujo de control y las
flechas con un pequeño círculo en el origen son flujos de datos.

Mensaje
Objeto 1 Objeto 2
Datos #
Datos @
Terminología
básica
2. Mensaje.
Tipos de mensaje.
Existen diferentes categorías de mensajes:
 Constructores (crean objetos)
 Destructores (destruyen objetos)
 Selectores (devuelven todo o parte del estado de un objeto)
 Modificadores (cambian todo o parte del estado de un objeto)
 Iteradores (visitan el estado de un objeto o el contenido de una estructura
de datos que incluye varios objetos).
Terminología
básica
3 Clase
Una clase es un tipo definido por el usuario.

Las clases son los bloques de construcción fundamentales de los


programas orientados a objetos.

Booch denomina a una clase como “un conjunto de objetos que


comparten una estructura y comportamiento comunes”.

Una clase contiene la especificación de los datos que describen un


objeto junto con la descripción de las acciones que un objeto
conoce cómo ha de ejecutar. Estas acciones se conocen como
servicios, métodos o funciones miembro (este ultimo se usa
específicamente, en C++).
Terminología
básica
3. Clase (Cont.)
Una clase incluye también todos los datos necesarios para describir
los objetos creados a partir de una clase. Estos datos se conocen
como atributos o variables.

El término atributo se utiliza en análisis y diseño orientado a


objetos, y el término variable se suele utilizar en programas
orientados a objetos.

Se suelen agrupar juntos elementos similares y con características


comunes en función de las propiedades más sobresalientes e
ignorando otras propiedades no tan relevantes. Este es el proceso
de abstracción.
Terminología
básica
3. Clase (Cont.)
Este proceso de abstracción suele comenzar con la identificación de
características comunes a un conjunto de elementos y prosigue con
la descripción concisa de estas características en lo que
convencionalmente se ha venido en llamar clase.

Una clase describe el dominio de definición de un conjunto de


objetos. Cada objeto pertenece a una clase.

Las características generales están contenidas dentro de la clase y


las características especializadas están contenidas en los objetos.
Terminología
básica
3. Clase (Cont.)
Los objetos software se construyen a partir de las clases, vía un
proceso conocido como instanciación. De este modo un objeto es
una instancia (ejemplar o caso) de una clase.

Una clase define la estructura y el comportamiento (datos y código)


que serán compartidos por un conjunto de objetos. Cada objeto de
una clase dada contiene la estructura (el estado) y el
comportamiento definido por la clase.

Los objetos suelen conocerse como instancias de una clase. Por


consiguiente, una clase es una construcción lógica; un objeto tiene
realidad física.
Terminología
básica
3. Clase (Cont.)
Cuando se cree una clase, se especificará el
código y los datos que
constituyen esa clase. De modo general, estos elementos se llaman
miembros de la clase. De modo específico, los datos definidos en la
clase se denominan variables miembro o variables de instancia. El
código que opera sobre los datos se conoce como métodos
miembro o simplemente métodos.

Los métodos son los que determinan cómo se pueden utilizar los
datos de la clase.

Las variables definidas en el interior de una clase se llaman


variables de instancia debido a que cada instancia de la clase
contiene su propia copia de estas variables.
Terminología
básica
3. Clase (Cont.)
Existen mecanismos para ocultar la complejidad de la
implementación dentro de la clase.

Cada método o variable de una clase se puede señalar como


público o privado.

La interfaz pública de unaclase representa todo lo que los usuarios


externos de la clase necesitan conocer o pueden conocer. Esta
interfaz debe ser diseñada de manera cuidadosa para no exponer en
forma innecesaria a la clase.

Los métodos privados y los datos privados solo pueden ser


accedidos por el código que es miembro de la clase.
Terminología
básica
3. Clase (Cont.)
Representación gráfica de una clase.
En UML 2.0 una clase se representa con una caja rectangular
dividida en compartimentos, secciones o bandas.
El primer compartimento contiene el nombre de la clase.
El segundo compartimento contiene los atributos.
El tercero se utiliza para las operaciones.
Se puede ocultar o quitar cualquier compartimento de la clase para
aumentar la legibilidad del diagrama.
Cuando no existe un compartimento no significa que esté vacío.
Se pueden añadir compartimentos a una clase para mostrar
información adicional, tal como excepciones o eventos, aunque no
es normal incluir estas propiedades.
Terminología
básica
3. Clase (Cont.)
Representación gráfica de una clase.
UML propone que el nombre de una clase:
 Comience con una letra mayúscula
 Esté centrado en el compartimento superior.
 Sea escrito en un tipo de letra negrita.
 Sea escrito en cursivas cuando la clase sea abstracta.
Los atributos y operaciones son opcionales, aunque eso no significa
que si no se muestran estén vacíos.

Empleado Empleado
Terminología
básica
3. Clase (Cont.)
Representación gráfica de una clase.
Ejemplo: La clase Auto contiene los atributos color, motor y
velocidadMaxima. La clase puede agrupar las operaciones arrancar,
acelerar y frenar.

Auto Auto
Auto
color
motor
velocidadMaxi
ma

arrancar()
acelerar()
frenar()

Potrebbero piacerti anche