Está en la página 1de 22

Conceptos bsicos de programacin orientada a objetos Notacin UML

Clase pasada

Paradigmas de programacin Objeto Clase Mensaje

04/04/11

Programacin avanzada y mtodos numricos

Encapsulamiento
Automovil Caseta Atributos: matrcula, kilometraje, cantidad de gasolina Mtodos: acelerar, frenar, encender parabrisas, abrir y cerrar puertas Atributos: ubicacin, tipo de cobro Mtodos: cobrar peaje, dejar pasar, abrir caseta Atributos: longitud, numero de carriles, tipo (libre o de cuota) Mtodos: dar mantenimiento, ampliar carretera Autopista

Es el agrupamiento de ariables y operaciones relacionadas con el mismo concepto en un mismo objeto


04/04/11 Programacin avanzada y mtodos numricos 3

Ocultamiento de la informacin

Implementacin interna Mtodos

!n obser ador e"terno puede er el comportamiento de un objeto, m#s no puede er su estructura interna
04/04/11 Programacin avanzada y mtodos numricos 4

Aclaracin

Encapsulamiento no es lo mismo que ocultamiento de la informacin!


04/04/11 Programacin avanzada y mtodos numricos 5

Herencia
Persona Atributos: edad, nombre, peso, estatura Mtodos: caminar, comer, respirar
ereda atributos ! mtodos

Trabajador Atributos: los mismos $ue %ersona & salario, turno Mtodos: los mismos $ue persona & trabajar, cobrar sueldo

"uperclase

"ubclase

'e refiere cuando una clase (ereda sus atributos y sus mtodos a otra clase
04/04/11 Programacin avanzada y mtodos numricos 6

Herencia directa e indirecta


erencia directa erencia directa

Persona

Trabajador

#ficinista

erencia indirecta

)ficinista (ereda indirectamente los atributos y mtodos de %ersona a tra s de Empleado


04/04/11 Programacin avanzada y mtodos numricos 7

Generali acin ! especiali acin


Especiali$acin

#ficinista Trabajador Persona Estudiante


%enerali$acin

#brero

Especiali$acin& se a're'an funciones( 'enerali$acin& se encuentran caracter)sticas comunes


04/04/11 Programacin avanzada y mtodos numricos 8

"olimorfismo
Estudiante
Trabajar& (acer tareas, *eali+ar e"#menes, asistir a clases

#ficinista
Trabajar& redactar oficios, atender llamadas, asistir a juntas

#brero
Trabajar& reparar m#$uinas, dar mantenimiento, asistir a una f#brica

,a misma operacin, trabajar, se implementa de manera distinta en distintas clases- trabajar es una operacin polimrfica
04/04/11 Programacin avanzada y mtodos numricos 9

UML Unified Modeling Language

04/04/11

Programacin avanzada y mtodos numricos

10

Objetos ! clases
Trabajador

Clase

"ebastian

#bjeto

"ebastian&Trabajador

Instancia

Trabajador

"ebastian

04/04/11

Programacin avanzada y mtodos numricos

11

Clases# notacin e$tendida


Clase ,ista de atributos ,ista de operaciones Estudiante .o/ de matrcula 0acultad 1arrera Estudiar() 2r a 1lase() 3acer4area()

*otacin de clase
Carolina .o/ de matrcula56768 0acultad52ngeniera 1arrera54elecom/

Ejemplo Ejemplo de objeto

04/04/11

Programacin avanzada y mtodos numricos

12

Clase# notacin e$tendida


Clase Atributos 5 9alor default Mtodo(argumentos):tipo de uelto

*otacin de clase

Estudiante .o/ de matrcula 5 6 0acultad 5 .inguna 1arrera 5 .inguna Estudiar(Materia):Entero 2r a 1lase(3ora):9oid 3acer4area():1alificacin
04/04/11

Ejemplo

Programacin avanzada y mtodos numricos

13

Asociaciones
Representa relaciones entre dos clases u objetos
Clase
Nombre

Clase

Trabajador +uan
04/04/11

Trabaja para

Empresa "antander
14

Trabaja para

Programacin avanzada y mtodos numricos

Cardinalidad
Clase
n Nombre n

Clase

Trabajador

Trabaja para

Empresa

Estudiante : ,octor

Estudia en Atiende a

:
8//:

Escuela Paciente

'e indica con un n;mero la cantidad de participantes en la asociacin


04/04/11 Programacin avanzada y mtodos numricos 15

%imbolog&a de cardinalidad

*: muchos Espacio blanco: 1 Se puede especificar con n mero n!!m: rango de n hasta m" ejemplos: 1!!* de uno a muchos# $!!1$ de cero a die%

04/04/11

Programacin avanzada y mtodos numricos

16

'ol
Clase
Rol Nombre Rol

Clase

Trabajador M-sico

Supervisor

Trabaja para

Consultora

Empresa #rquesta

Director

Toca en

Filarmnica

'e indica con una palabra el rol $ue juega cada clase o instancia en una asociacin
04/04/11 Programacin avanzada y mtodos numricos 17

Agregacin ! composicin
Componente A're'acin Trabajador "indicato Ensamblado

Componente Composicin Pistn

Ensamblado Motor

Agregacin se refiere cuando el objeto de una clase se integra a otro de otra clase- composicin cuando un objeto de una clase es parte de otro de otra clase
04/04/11 Programacin avanzada y mtodos numricos 18

Cardinalidad
Trabajador : : "indicato

Pistn

<//:

Motor

'e usa la misma simbologa $ue en las asociaciones

04/04/11

Programacin avanzada y mtodos numricos

19

Herencia
"ubclase "uperclase

Abo'ado In'eniero Contador Profesionista

04/04/11

Programacin avanzada y mtodos numricos

20

(ibliograf&a

&eit%enfel" 'lfredo! (ngenier)a de Soft*are Orientada a Objetos! Editorial +homson! Cap)tulo ,! -eitel . -eitel! Cmo programar en /a0a! Editorial Prentice 1all!

04/04/11

Programacin avanzada y mtodos numricos

21

Consultas ! a!uda& Ing. Diego Enri ue !ern"nde# $on#"le#


di=(ernande+>u"mcc?/iimas/unam/m"

04/04/11

Programacin avanzada y mtodos numricos

22

También podría gustarte