PDF de programación - Tema 1 - Conceptos Básicos de la Orientación a Objetos

Imágen de pdf Tema 1 - Conceptos Básicos de la Orientación a Objetos

Tema 1 - Conceptos Básicos de la Orientación a Objetosgráfica de visualizaciones

Publicado el 5 de Julio del 2017
757 visualizaciones desde el 5 de Julio del 2017
3,1 MB
44 paginas
Creado hace 15a (15/10/2008)
<-7T z,zz

Tema 1

Conceptos Básicos de la
Orientación a Objetos

o
O t*j
Sñ,
Si$

oa
oo
oo
os
wffi
ffi,:,'"

Introducción (l)

aoa
ooo :
O I r..j' ',.r
a1il,.

LA OO SE ORIGINO EN LA P
o Tipos abstractos de datos:

ROGRAMACIÓN.

o Abstracción.
o Encapsulación.
o Ocultamiento.

o Inteligencia artificial:

r Herencia.

o Primero: Simula 67.
o Después: Smalltalk.
o Masiva incorporación posterior de conceptos: C++, ...
r Actualmente: Java.

Introducción (ll)

aaa
OOO,
oa
o

DE FORMA GRADUAL...
o Los conceptos surgidos en la programación se empiezan a

aplicar a otras fases en el ciclo de desarrollo:
o Análisis.
o Diseño.
o ...

o Aparecen multitud de métodos: OOSE, OMT, Booch, ...
o Cada autor tiene su propuesta, con técnicas y notaciones

particulares.
lvar Jacobson, James Rumbaugh y Grady Booch crean
UML, que es adoptado como estándar por OMG (Object
Management Group).

lntroducción (lll)

ooo
aoo
oa
a:

UML: UNIFIED MODELING LANGUAGE.
o Notación que permite modelar, construir y documentar los

elementos que forman un sistema software OO.

o Se ha convertido en el estándar de facto al estar creado

por los autores de los tres métodos más usados en OO:

o Grady Booch (Booch).
r lvar Jacobson (OOSE).
¡ James Rumbaugh (OMT).

o UML sólo es una notación, no define un proceso de

desarrollo específico como por ejemplo.

o Propuesta de Craig Larman.
o Unified Software Development Process.

lntroducción (lV)

ooo
oOoi:*
O O'¡il ¿l,i
O $"S ¿ú'r
t? i,-t
:.'
{-$ 'r

o Historia de UML:

Booch'91

\
Booch

'93

oMT - 2

\t \ utr¡L o.a /

OMT-1

I+

Otros Métodos

OOSE

OOPSLA'95

V,

UML 0.9 y 0.91

Junio del 96 y Octubre del 96

Experiencia de las

empresas

participantes en UML

\r

I+

t UML l.0
,ni. '' ''

I

Enero del 97

Septiembre del 97

Introducción (V)

ooo
a oos
oa¿i,$)
aetñ
,:
ñ'i$
l.'\r-

HASTA LA OO:
o En el análisis y diseño estructurado/programación

tradicional hay datos y operaciones (procesos) sobre esos
datos, pero son entidades independientes e incluso se
modelan por separado con técnicas distintas.

ALMACÉN DE DATOS

lntroducción (Vl)

oao
ooa':"'
o o.$¡ $r
O,'' -:,

::¡

dii

CON LA OO:
. En el análisis y diseño/programación OO se agrupan
(encapsulan) datos relacionados entre sí y
las
operaciones sobre esos datos en entidades llamadas
objetos.

Llamada a una operación,

Resultado entreoado

4

Introducción (Vll)

aao
ooo4
OO*¡4¡
O ,n\i\ .i¡¡
{$,F:,
N\

o ASPECTOS A CONSIDERAR:

Generalmente
las operaciones son accesibles desde el
exterior y son los servicios que el objeto ofrece para que
otros objetos los empleen (mensajes).

o Algunas operaciones son privadas y son servicios

de

utilidad para el propio objeto. Sólo él tiene acceso.

o Los datos normalmente son privados y únicamente

accesibles por el propio objeto. Sólo él tiene acceso.

Introducción (Vlll)

aoo
aaavi:
a o {l},4i
a f& (ft |,i
$FS ., r,
W r?,i]r

Un sistema OO es
entre sí a través
cuáles se solicitan
Los mensajes se
tienen entre sí.

una colección de objetos que cooperan
del envío de mensajes mediante los
servicios unos a otros.
envían a través de las relaciones que

\il

lntroducción (lX)

ooo
O OO i,rv
a t'aÉ i-\
a$sñ.
4.i_.-\ .
SF r'

LOS CUATRO PILARES FUNDAMENTALES DE LA ORIENTACION A OBJETOS:

rientacióri
a Objetos

:.]

*^:

,A***áá

Abstracción

aoa
oaas
aa €"* ti
o .Rt'.+
qé l¡i"i

Se utiliza continuamente y permite manejar la complejidad.
o Ya se empleaba en la aproximación estructurada.

Permite extraer la información principal para un sistema de
aquello que se estudia; omitiendo detalles no esenciales y
prescindibles en un determinado momento que se abordarán
más tarde.

Encapsulación

oot
ooo$\s
a a "$¡ {iñ
O $ tiir,
s ¡liii
.$:ii

Permite agrupar en un mismo
relacionados.

paquete elementos

Permite abordar la abstracción y permite la modularidad y la
ocultación de información.

En OO se agrupa en un sólo objeto la información y las
operaciones que la manejan.

En la encapsulación siempre se busca:
o n¡ÁXIMA cohesión.
o MíNIMO acoplamiento.

Gohesión

aoo
O aO'.ii¡
OOS{$'
l
a#*j)
.4.¿ ,'J+

"i

Es una medida de cómo de fuerte es la relación lógica entre
los componentes encapsulados (en un objeto. datos y
operaciones).

Para un objeto poco cohesionado.
o Mayor será su mantenimiento.
o Menor su reutilización.

Acoplamiento

ooo
O O O';ir
O Otii..s.i\
a *, it-*
+iis
'iS'

Es una medida de la fuerza del conocimiento entre dos
elementos de un sistema. Cuanto más conoce un elemento de
otro más fuerte es el acoplamiento entre ellos (más dependen
el uno del otro).

Al construir objetos se deben acoplar los objetos en cierta
medida, pero debe estar muy controlado: sólo los servicios
que prestan los otros objetos y las relaciones.

Ocultamiento de la información

ooa
rs
aal
Oa,,_.t .ji;
OrÍl.t i.llt ;
ti ¿it

o Permite usar los módulos (objetos) por su especificación, no

por la forma en que están implementados.

o Los detalles de implementación están ocultos y sólo es

accesible la interfaz (los servicios que ofrece).

Solicitud

de servicios

El módulo es una "c4a negra"
de la que sólo sabemos cómo
la podemos manejar.

objeto (l)

ooo
aOOir$
;:ri
Ol::.'
O,:,.:'

{$

Los objetos son cosas que encontramos en nuestro mini-
mundo.

o Nos interesan los modelos sofhrvare de esas cosas.

Coche

Marca: ROLLS-ROYCE
Modelo:ANTIGUO
Matricula: 1234ABC

Acelerar
Torcer
Velocidad?

lnformación del objeto: Atributos

Servicios ofrecidos: Métodos

objeto (ll)

aoo
oooñ
aa\SS-¡
O$Si$ ,
rr"
ffi#;'
ii\

Ejemplos de objetos en algún dominio, mini-mundo,
mini-world o universo de discurso son.

Universidad: alumno, profesor, asignatura, aula,
práctica, eXamen, proyecto, departamento,
laboratorio,
...
Empresa: empleado, cliente, pedido, factura, nómina,
...
almacén, componente,

objeto (lll)

foo
oaow
O OS.É'
a $"s $$
s#

\l:¡

La descripción de un objeto del mini-mundo será muy
compleja.
Se escoge aquella información relevante para nuestro modelo
(abstracción).
Esta información determina las propiedades del objeto.

o Por ejemplo, un empleado:

o Tiene: nombre, fecha de nacimiento, peso, color de pelo, Íaza, ...
o Pero en el contexto de un sistema para pagar las nóminas: DNl,

NSS, fecha de ingreso en la empresa, categoría,
...

Clase (l)

oaa
oao
O O.'i $it
O.:.1 .;:
,)i;,''i
ill\

Es el "patrón" por el que se crean los objetos que son iguales
en dos sentidos:
o Estructuralmente.
. Funcionalmente.
Define las propiedades (atributos y métodos) de todas las
instancias (objetos) de esa clase:

ATRIBUTOS: datos que mantienen el
estado de cada objeto de la clase
coche. La información.
METODOS: servicios proporcionados
por cualquier objeto coche. El
comportamiento.

Coche

Marca
Modelo
Matricula

Acelerar
Torcer
Velocidad?

Clase (ll)

oao
aaa:
oo
o

La clase define los atributos comunes a todos los objetos
de la clase, pero cada objeto tiene sus propios valores para
los atributos.

Persona

Nombre
Edad
Estado ánimo

Nombre?
Edad?
Cambiar ánimo

Tamariz
37
alegre

Merlín
24
absorto

Pedro
45
exaltado

Clase (lll)

ooo
ooo.s
O O lr,¿ti
O íÍi' irli
ü ¡r;

o La clase define los

los objetos.

métodos (servicios) comunes a

o Se invocan sobre un objeto determinado y actúan sobre los
atributos instanciados de forma particular para ese objeto.

Nombre?

Pedro

Pedro
45
exaltado

Cambiar ánimo ("tranquilo")

Un mensaje es una petición de
ejecución de algún método.

Clase (lV)

ooo
I ooos
I oos@:

::s*

ri.$

' También proporciona la forma de crear instancias (objetos)

de esa clase. Esto se efectúa a través del constructor.

Persona

Nombre
Edad
Estado ánimo

Nombre?
Edad?
Cambiar ánimo

Instanciación

a través del constructor
rctor.
N

Tamariz
37
alegre

Beethoven
68
serio

Merlín
24
absorto.

Pedro
45
exaltado

Propiedades de Clase

oao
oao ,
I
OO::
O
.

Hay atributos y métodos que son de la clase y no de los
objetos.
un atributo de clase no se instancia en cada objeto:
o Pertenece a la clase y está compartido por todos los
objetos de la clase: todas las instancias ven el mismo
valor (e.g. objetos creados de una clase).

un método de clase es un servicio general de la clase.
No se invoca sobre un objeto creado:
o No necesita de haberse creado ninguna instancia. (e.g.

constructores de clases).

a

o

Relaciones

ooo
OOO;i,:',
O O;;r,iii
O.
,i il

r".

Los objetos tienen, además de propiedades (atributos y
métodos), relaciones con otros objetos. Esto €s,
conocen otros objetos del sistema con los que se envían
mensajes.

Las relaciones más importantes son:
o Asociación.
o Agregación.
o Herencia.

Asociación

ooo
OOO,it:r
a O.i,i (li
O'ln"'¡rl'
iú.iri

o Es una relación estructural que especifica que los objetos de
una clase están conectados con los objetos de otra. Es
perfectamente legal que los objetos que se relacionen
pertenezcan a la misma clase.

o Indica algún tipo de retación entre objetos.

Una característica
cardinalidad.

fundamental de las

asoctaciones es la

Gardinalidad

oaa
O aO {it
It O itt-.,,l,Iil
?lu"'

lr

a

o

Las asociaciones y las agregaciones tienen cardinalidad.
La cardinalidad indica el número de instancias de una
clase que están relacionadas con una instancia de la otra
clase.
cuando se indica una cardinalidad en un rol se está
especificando cuántos objetos del otro rol puede haber
relacionados.

Cardinalidad o
multiplicidad

asociación

Agregación

ooo
Of O,r¡
O O ::!,"
O {ii.\,'}.
i+',t
\$

En algunas ocasiones los objetos están compuestos de otros
objetos.

Con la agregación se indica que la clase agregada está
formada por los componentes que se indican. Este tipo de
relación permite descomponer progresivamente el problema.

Auricular

Pantalla

Herenc¡a (l)

i$

ooo
aaa
a O +.i'"-\$
I r¡] ,'r'r'
ii¡ ..:.'
a.:.\

Permite describir una nueva clase por generalización o
especialización de una ya existente o de muchas (herencia
múltiple).
Una clase es descendiente (hijo) de una ancestra (padre)
cuand
  • Links de descarga
http://lwp-l.com/pdf4921

Comentarios de: Tema 1 - Conceptos Básicos de la Orientación a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad