Sie sind auf Seite 1von 14

JAVA 2

Programacin Orientada a
LI & MSC OSCAR RAMIREZ CORTES
Objetos

Fundamentos del desarrollo de


software orientado a objetos

Hasta algunos aos atrs, el


desarrollo de software tena como
base el modelo procedural.

El MP tiene como base la ejecucin


secuencial de rutinas o funciones,
ordenadas de acuerdo con la manera
en que se desea que funcione la
aplicacin.

La Orientacin a Objetos es una


tcnica ms simple y natural para el
proceso de anlisis de problemas y
construccin de aplicaciones.

LI & MSC OSCAR RAMREZ CORTS

Modelo Procedural vs Orientado a


Objetos
<<datos>>

<<datos>>

Cliente

Pedido

NuevoPedido

Cliente_id
Nombre
Dir
Tel

Pedido_id
Cliente_id
Recibo
Total
IVA

CrearPedido()
AgregarProd()
EliminarProd()
FinalizarPedido()

MP: reas de memoria y


estructuras diferentes,
cdigo secuencial
OO: Basado en la ejecucin
de mtodos, todo organizado
(funciones y datos en la
misma rea)

<<inteligencia>>

<<datos>>

<<datos>>

Cliente

Pedido

Cliente_id
Nombre
Dir
Tel

Pedido_id
Cliente_id
Recibo
Total
IVA

CrearPedido()
FinalizarPedido()
<<inteligencia>>

AgregarProducto()
EliminarProducto()

<<inteligencia>>

LI & MSC OSCAR RAMREZ CORTS

Abstraccin para Modelar

El proceso de abstraccin consiste en comprender


un sistema concreto, fsico o no, y crear un modelo
documentado y estandarizado que refleja su
comportamiento, en ste caso, para el rea de
desarrollo de software.

LI & MSC OSCAR RAMREZ CORTS

Definiendo la Abstraccin

Proceso de modelado de sistemas concretos o no,


que extrae de su contexto los principales objetos, y
los describe por medio de la discriminacin de sus
propiedades y funcionalidades.

LI & MSC OSCAR RAMREZ CORTS

Los Objetos del Sistema

Son elementos conceptuales destacados por medio


del proceso de abstraccin, sus caractersticas son:

A)

Propiedades (atributos): describen el objeto, sus


posibles estados y la funcin que desempea en el
sistema.

B)

Funcionalidades (mtodos): describen la accin


del objeto y representan su comportamiento
dentro del sistema.

Al definir un objeto, en realidad se crean Clases.

LI & MSC OSCAR RAMREZ CORTS

Clases

Modelos conceptuales a partir de los cuales se generan


instancias (copias) u objetos con la caracterstica de
pasar a ste toda su descripcin y funcionalidad.

Una Clases tambin es una superclase y los objetos


subclases.

LI & MSC OSCAR RAMREZ CORTS

Ejemplos

CLASE:

Atributos
Tipo
Tamao
Color
Material
Cdigo
Etc

Atributos
Saldo
Lmite
Intereses
Vencimiento
Etc

Camisa

CLASE:

Funcionalidades
CubrirCuerpo
Lavarla
Plancharla
Venderse
Regalarse
Etc

Cuenta Bancaria

Funcionalidades
Dbito
Crdito
Consulta de saldo
Retiro
Etc

LI & MSC OSCAR RAMREZ CORTS

Elementos de la POO

Clase modelo para la creacin de objetos.

Atributos Caractersticas.

Mtodos Funcionalidades.

Objetos Instancias de la clase.

UMLNotacin para documentar aplicaciones POO.

Diagramas de claseModelos a programarse.

LI & MSC OSCAR RAMREZ CORTS

UML, Unified Modeling Language


Lenguaje de Modelado Unificado

Define modelos, una representacin simplificada de


la realidad.

Es visual, toda su expresividad se basa en grficos.

Lo componen un conjunto de diagramas cada uno


destinado a cubrir algn aspecto del software.

LI & MSC OSCAR RAMREZ CORTS

Diagramas de Clase
Nombre clase

Nombre

+/-Atributos

Atributos (privados -)

+/-Mtodos

Mtodos
(pblicos + )

LI & MSC OSCAR RAMREZ CORTS

Tipos de Accesos a Clases, Atributos


y Mtodos

+Pblicos. Con acceso total a los


componentes.

-Privados. Limitado nicamente al rea del


componente.

LI & MSC OSCAR RAMREZ CORTS

Tipos de Mtodos

get consulta (Accesor)

set intercambio/mutacin (Mutator)

Operaciones o funciones (Worker)

Constructores (Constructor)

LI & MSC OSCAR RAMREZ CORTS

Construyendo la primer aplicacin

Cuenta

Nombre clase

-numero: int
Atributos -saldo: double
(privados) -interes: double
-vencimiento: Date
+
+
Mtodos +
+
(pblicos )
+
+
+
+
+
+

getInteres( ):double
getNumero( ): int
getSaldo( ): double
getVencimiento ( ): Date
setSaldo(in saldoE:double): void
setInteres(in intes:double): void
setNumero(in num: int): void
setVencimiento(in Fecha: Date): void
debito (in valor:double): void
credito(in valor: double):void

get consulta (Accesor)


set intercambio/mutacin (Mutator)
de operaciones o funciones (Worker)
Constructores (Constructor)

LI & MSC OSCAR RAMREZ CORTS