1.2 Conceptos de La Orientacion a Objetos

4
http://www.javahispano.org © Miguel Ángel Abián, 2002-2006 Página 13 de 56 Mundo real Orientación a objetos Cosa Objeto Concepto, idea, abstracción Clase Interacción Operación Tabla 1. Equivalencias entre algunos conceptos del mundo real y de la orientación a objetos. Figura 1. Ejemplo de modelo de dominio o conceptual. Los conceptos y las relaciones se han extraído de un sencillo análisis del dominio de una oficina. Si los términos del dominio son poco habituales, el modelo conceptual suele incluir un glosario con los términos que aparecen en el dominio. Miguel Ángel Abián, enero 2006 Luis Domingo anota enciende arranca hojas apaga

description

Conceptos de La Orientacion a Objetos

Transcript of 1.2 Conceptos de La Orientacion a Objetos

  • http://www.javahispano.org

    Miguel ngel Abin, 2002-2006 Pgina 13 de 56

    Mundo real Orientacin a objetos Cosa ObjetoConcepto, idea, abstraccin ClaseInteraccin Operacin

    Tabla 1. Equivalencias entre algunos conceptos del mundo real y de la orientacin a objetos.

    Figura 1. Ejemplo de modelo de dominio o conceptual. Los conceptos y las relaciones se han extrado de un sencillo anlisis del dominio de una oficina. Si los trminos del dominio son poco habituales, el modelo conceptual suele incluir un glosario con los trminos que aparecen en el dominio.

    Miguel ngel Abin, enero 2006

    Luis Domingo

    anota

    enciende

    arranca hojas

    apaga

  • Orientacin a objetos: conceptos, terminologa y lenguajes (Parte 1) v2.0

    Miguel ngel Abin, 2002-2006 Pgina 14 de 56

    Figura 2. Ejemplo de modelo conceptual (o de dominio) orientado a objetos. Los conceptos que aparecen en la figura 1 se han convertido en clases. Este modelo conceptual OO es una representacin un poco ms formal del mostrado en la pgina anterior. Ninguno de los dos tiene nada que ver con el software. El nmero 1 hace referencia a la multiplicidad: un empleado arranca hojas de una agenda (la suya), anota en una agenda, enciende y apaga un ordenador (el suyo). Del mismo modo, las hojas de una agenda son arrancadas por un empleado, slo un empleado escribe en ellas, y un ordenador es encendido y apagado por un empleado.

    Empleado

    Miguel ngel Abin, enero 2006

    Ordenador

    Agenda

    1

    1

    1enciendeapaga

    anotaarranca hojas

    Nombre

    Apellidos

    Precio

    Fabricante

    Velocidad

    Memoria

  • http://www.javahispano.org

    Miguel ngel Abin, 2002-2006 Pgina 15 de 56

    Figura 3. Modelo de software correspondiente al dominio de la figura 2 (he aadido algunos mtodos para Empleado). Establece cmo deben ser las clases de software, sin especificar en qu lenguaje (Java, C++, etc.) van a ser implementadas. Este modelo, orientado a objetos, contiene tres clases de software, cada una con sus atributos y operaciones. El modelo de software recuerda al modelo conceptual o de dominio, pues los conceptos del mundo real se transforman en clases del modelo de software. Ahora bien, el modelo de software no es una representacin exacta del mundo real. En las figuras 1 y 2, por ejemplo, era el empleado quien encenda el ordenador; en la figura 3, el ordenador dispone de una operacin encender().

    Empleadonombre: String

    apellidos: String

    Miguel ngel Abin, enero 2006

    fichar(fecha: Date)

    trabajar()

    tomarCafe()

    Ordenadorfabricante: String

    velocidad: int

    memoria: int

    encender()

    apagar()

    Agendaprecio: double

    anotar(texto: String)

    arrancarHoja()1

    1

    1

  • Orientacin a objetos: conceptos, terminologa y lenguajes (Parte 1) v2.0

    Miguel ngel Abin, 2002-2006 Pgina 16 de 56

    Figura 4. Modelo de software de una clase y tres instancias suyas. Utilizo los estereotipos de UML. La clase acta como plantilla de instancias u objetos. Cada objeto posee identidad (cada uno tiene su propio bloque de memoria), estado (valores de los atributos o propiedades + relaciones con otros objetos) y comportamiento (todo lo que puede hacer).

    Empleadonombre: String

    apellidos: String

    Miguel ngel Abin, enero 2006

    fichar(fecha: Date)

    trabajar()

    tomarCafe()

    joseLuis: Empleadonombre: Jos Luis

    apellidos: Ferreira

    mperez: Empleadonombre: Manolo

    apellidos: Prez

    cpidd: Empleadonombre: Colin

    apellidos: Piddington