PDF de programación - 4. Programación orientada a objetos con Java

Imágen de pdf 4. Programación orientada a objetos con Java

4. Programación orientada a objetos con Javagráfica de visualizaciones

Publicado el 14 de Junio del 2019
522 visualizaciones desde el 14 de Junio del 2019
820,8 KB
130 paginas
Creado hace 13a (04/10/2010)
Escuela Politécnica Superior de Ingeniería

Departamento de Ingeniería Industrial

Fundamentos de la informática

4. Programación orientada a objetos con Java

Contenido

n Introducción

n Laprogramaciónorientada aobjetos

n ProgramaciónJava

n Introspección

n UtilidadesdeJava

Programación orientada a objetos con Java

2

Introducción

Análisisydiseñoorientadoaobjetos

n Laprogramaciónorientada aobjetosesunatécnicade

análisisydiseñoqueseenfocaenloselementosdeun
sistema,susatributosyresponsabilidades

n Elmodeloabstractoestáformadodeclases.Unaclase

describeaunconjuntodeobjetosquecompartelos
mismosatributos,comportamientoysemántica

n Unobjetoesunainstanciadeunaclase

Programación orientada a objetos con Java

3

Programación orientada a objetos

Análisisydiseñoorientadoaobjetos

n Lasclasesrepresentanunesquemasimplificadodela

casuísticadeunproblemadeterminado

n Paradiseñarunsistemaorientado aobjetosesnecesario

responderlassiguientespreguntas

n ¿Cuálessonloselementostangiblesdeunsistema?
n ¿Cuálessonsusatributos?
n ¿Cuálessonsusresponsabilidades?
n ¿Cómoserelacionanloselementosdelsistema?
n ¿Quéobjetodebe“saber”...?
n ¿Quéobjetodebe“hacer”...?

Programación orientada a objetos con Java

4

Programación orientada a objetos

Conceptosbásicos

n Encapsulación

n Herencia

n Polimorfismo

Programación orientada a objetos con Java

5

Programación orientada a objetos

Encapsulación

n Laencapsulaciónconsisteenformarun“paquete”conlos
atributos(variables)yelcomportamiento(métodos)de
unobjeto

n Losmétodosformanlamembranaexteriordeunobjeto y

“esconden”losdetallesdeimplementaciónalusuario

Programación orientada a objetos con Java

6

Programación orientada a objetos

Encapsulación

n Laencapsulaciónhacequeunsistemaseamásfácilde

comprenderyfacilitaelmantenimientodeunaaplicación

Atributos

Comportamiento

(métodos)

m1

Programación orientada a objetos con Java

7

Programación orientada a objetos

Herencia

n Laherenciaeslacapacidaddeunaclaseparadefinirseen

“heredar” atributos

términos de otra clase
responsabilidadesdelaclasedeordensuperior

y

Superclase

Bicicleta

Subclases

Bicicleta
de montaña

Bicicleta
de carreras

Tándem

Programación orientada a objetos con Java

y

8

Programación orientada a objetos

Polimorfismo

n El

permite

que

polimorfismo

objetos
pertenecientes a una misma clase “respondan” de
diferentesformasaunmismomensaje

distintos

n Elpolimorfismopermitemodificarelcomportamientode

un método en cada subclase. En este ejemplo,
superclasemascotatienelassubclasesgato,patoyperro.
Elmétodo“saludar”cadasubclaseesdiferente

la

Hola

Miau

Cuac

Guau

En este ejemplo cada tipo de mascota “saluda” de forma distinta

Programación orientada a objetos con Java

9

Programación orientada a objetos

Encapsulación,herenciaypolimorfismo

n Lareutilizacióndecódigoesunadelasgrandesventajas

delaprogramaciónorientadaaobjetos

n Reduce el

tiempo de desarrollo de aplicaciones e

incrementalaproductividaddelosingenierosdesoftware

n Reutilizacióndeclases
n Diseñodeunanuevaclaseapartirdeotra(herencia)

Programación orientada a objetos con Java

10

Programación orientada a objetos

Diagramasdeclases

n EnUMLunaclaseserepresentacomounrectángulo

divididoentrespartes:elnombredelaclase,sus
atributosymétodos.Lasclasesabstractasseidentifican
porlaletracursiva

n Losmétodosdeunaclaseseespecificanindicandoeltipo

deacceso(+,-,#),elnombre,lalistadeparámetrosyel
tipoquedevuelve

n +Accesopúblico
n -Accesoprivado
n #Accesoprotegido

Programación orientada a objetos con Java

11

Programación orientada a objetos

Diagramasdeclases

n Eldiagramadeunaclasemuestraelnombredelaclase,

susatributosymétodos

Programación orientada a objetos con Java

12

Programación orientada a objetos

Diagramasdeclases

n Eldiagramadeclasesofreceunavistageneraldeun

sistema,muestralasclasesylasrelacionesexistentes
entreellas

n El diagrama de

estático, muestra las

interaccionesentreclasesperonoloquesucedecomo
resultadodeesainteracción

clases

es

n Cadadiagramasecomponedeclasesyasociaciones.
Cadaasociaciónafectaaunnúmerodeterminadode
instanciasdeunaclase,denominado“multiplicidad”

Programación orientada a objetos con Java

13

Programación orientada a objetos

Diagramasdeclases

Programación orientada a objetos con Java

14

Programación orientada a objetos

Relacionesentreclases

n Asociación.Relacionainstanciasdedosclases.Existeuna

asociaciónentredosclasescuandounainstanciadeuna
clasedebesabersobreotrainstanciaparallevar acabo
susfunciones

n Agregación.Esuntipodeasociacióndondeunaclase

perteneceaunacolección.Seutilizaundiamanteenel
extremodelaasociacióndelaclasequerepresentael
todo

n Generalización.Indicaunarelacióndeherenciaentredos

clases.Seutilizauntriánguloenelextremodelarelación
paraseñalaralasuperclase

Programación orientada a objetos con Java

15

Programación orientada a objetos

Asociacionesentreclases

n Rol.Seutilizaparaaclararlanaturalezadelaasociación
n Navegabilidad.Laflechadelaasociaciónindicala

direccióndenavegación

n Multiplicidad.Determinaelnúmeroposibledeinstancias

Multipicidad

Significado

0..1

0..*

1

1..*

Ceroounainstancia.Lanotación

n..m indicade n a m instancias

Noexistelímitedeinstancias,desdecerohastaunnúmeroilimitado

Exactamenteunainstancia

Almenosunainstancia

Programación orientada a objetos con Java

16

Programación orientada a objetos

Asociacionesentreclases

n Agregación:Asociaciónquerelaciona aunobjetoquees

partedeotro

n Composición:Agregaciónfuerte,lapartenopuedeexistir

sineltodo

Programación orientada a objetos con Java

17

Programación orientada a objetos

Dependenciasylimitaciones

n Unadependenciaesunarelaciónentredosclases.Sise

produceuncambioenunadeellaspuedeproducir
cambiosenlaotra.Lasdependenciasserepresentancon
líneasdepuntos

n Unalimitaciónesunacondiciónqueseaplicaaldiseño.
Laslimitacionesseexpresanutilizandolossímbolos{}

Programación orientada a objetos con Java

18

Programación orientada a objetos

Dependenciasylimitaciones

Programación orientada a objetos con Java

19

Programación orientada a objetos

Diagramasdeclases

n Lasclasesseagrupanenpaquetes.Elusodepaquetes

permiteorganizardiagramasdeclasescomplejos

Programación orientada a objetos con Java

20

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

Agregar agua

Desbordamiento

Capacidad

Volumen
actual

Quitar agua

Programación orientada a objetos con Java

21

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

Elmodelodeclasesestácompuestopor:

n Elementostangibles(objetos)

n Atributos(campos)

n Responsabilidades(operacionesométodos)

n Limitacionesdediseño(contratodelobjeto)

Programación orientada a objetos con Java

22

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

n Elementostangibles(objetos)

n Depósitodeagua

n Atributos(campos)

n Capacidad(m 3)
n Volumenactual(m 3)

Programación orientada a objetos con Java

23

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

n Responsabilidades(operacionesométodos)

n Agregaragua(m 3)
n Quitaragua(m 3)

Programación orientada a objetos con Java

24

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

n Limitacionesdediseño(contratodelobjeto)

n Lacapacidaddeldepósitodebesermayorquecero
n Lacapacidadesconstanteyseexpresaenm3
n Nosepuedequitaraguadeundepósitovacío
n Nosepuedeañadiraguasinoexisteundepósitopara

recogerelaguaencasodedesbordamiento

n Sialañadiraguahaydesbordamiento,elaguaquese
desbordasedebealmacenarenundepósitoauxiliar

n Nosepuedeagregaryquitaraguaalmismotiempo

Programación orientada a objetos con Java

25

Programación orientada a objetos

¿Cuáleselmodelodeclasesparaundepósitodeagua?

Nombre de la
clase

Atributos

Depósito de agua

capacidad
volumenActual

Desbordamiento

Métodos

agregarAgua(cantidad)
quitarAgua(cantidad)

Programación orientada a objetos con Java

26

Programación orientada a objetos

Clasesyobjetos

n Todoslosobjetosdeunaclasecompartenlasmismas

características

Programación orientada a objetos con Java

27

Programación orientada a objetos

Clasesyobjetos

n Apartirdeunaclasesepuedeobtenerunobjeto

(instancia)quesecomunicaconotrosobjetosmediante
mensajes

n Cadaobjetotieneunestadopropio

n Cadaobjetorespondeaunconjuntodepeticiones

definidasenlainterfazdelaclasealaquepertenece

Programación orientada a objetos con Java

28

Programación orientada a objetos

Clasesyobjetos

n Lainterfazofrecealexteriorelcomportamientodel

objeto.Elcódigoylosdatosinternosqueseutilizanpara
responderaunapeticiónsedenominaimplementación

n Unobjetosecomponede:

n Interfaz:quéseofrece
n Implementación:cómoseofrece

Lightbombilla=newLight();
bombilla.on();

Programación orientada a objetos con Java

29

Programación orientada a objetos

Encapsulación

n La encapsulación permite ocultar

funcionalidad
reutilizacióndeobjetos

de

un

objeto. Además,

los datos y la
la

facilita

n Lainterfazdelaclasedeunobjetopermitequeotros

objetosaccedanalosatributosyalosmétodospúblicos
deunobjeto

Programación orientada a objetos con Java

30

Programación orientada a objetos

Clasesysubclases

n Laherenciapermitediseñarclasesapartirdeotras

clases. Una subclase puede añadir o modificar
funcionalidaddelaclasedeordensuperior

la

Programación orientada a objetos con Java

31

Programación orientada a objetos

Clasesysubclases

n Una

subclase

comportamientodelaclasedeordensuperior

puede

ampliar

o

extender

el

Programación orientada a objetos con Java

32

Programación orientada a objetos

Clasesysubclases

n Unasubclasepuedemodificarelcomportamientodela

clasedeordensuperior

Programación orientada a objetos con Java

33

Programación orientada a objetos

Polimorfismoysobreescriturademétodos

n El polimorfismo es

la capacidad de modificar el

comportamientodeunaclasemediantelasobreescritura
demétodos

Programación orientada a objetos con Java

34

Programa
  • Links de descarga
http://lwp-l.com/pdf16129

Comentarios de: 4. Programación orientada a objetos con Java (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