Professional Documents
Culture Documents
POO
Contenido
Clases y objetos
Atributos
Mtodos
Propiedades:
Abstraccin, encapsulamiento,
herencia, polimorfismo, reutilizacin de
cdigo
UML
POO
Enfatiza en los datos
Combina en una unidad las
caractersticas (datos) como su
comportamiento (funciones o
mtodos) Esta unidad se denomina
objeto
(Joyanes, 2008)
Programacin orientada a
objetos
Es un modelo de programacin cuya
idea principal es descomponer un
problema en entidades de software
llamadas objetos.
La Programacin Orientada a Objetos
trata de aproximar la programacin a
la vida real.
En la programacin orientada a
objetos el cdigo y los datos estn
fusionadas en algo indivisible: un
objeto.
En la POO los datos son tratados
como elementos crticos y no fluyen
libremente, sino que se limitan a las
funciones donde operan, lo que los
protege de una modificacin
accidental.
Ventajas de la
Programacin Orientada a
Objetos
Los datos estn encapsulados y no
pueden ser accesados por funciones
externas al objeto.
Los objetos pueden comunicarse
entre s a travs de funciones o
mtodos.
Pueden agregarse nuevos datos y
funciones fcilmente cuando se
requiera.
(Joyanes, 2008)
Objeto
Es algo que se visualiza, se utiliza
Puede ser tangible o intangible
Puede ser abstracto o describir un
proceso
Objetos.
Visin general
Objeto
Punto de vista conceptual
Un objeto es una entidad individual
de un sistema que se caracteriza por
un estado y un comportamiento
Punto de vista implementacin
Un objeto es una entidad que posee
un conjunto de datos (estado o
atributos) y un conjunto de
operaciones (comportamiento)
Clase
Encapsula o agrupa
Atributos
(Caractersticas
)
Comportamient
o
(Acciones)
Atributos +
comportamientos
Clase.
Visin Programacin OO
atribut
os
de funciones (mtodos miembros)
que
operan sobre esos datos.
comportamien
tos
Objeto.
Visin Programacin OO
Persona
Nombre
Altura
Peso
Edad
.
Comer()
Dormir()
Leer()
Escribir()
Hablar()
Clase Encapsula o
agrupa
Atributos +
comportamientos
Atributos
(Caractersticas
)
Comportamient
o
(Acciones)
Nombre:
Raquel
Altura:175 cm
Peso: 120 lb
Edad: 25
.
Nombre:
Joaquin
Altura:185 cm
Peso: 190 lb
Edad: 31
.
Comer()
Dormir()
Leer()
Escribir()
Hablar()
Comer()
Dormir()
Leer()
Escribir()
Hablar()
Lavadora
marca
modelo
numeroSerie
capacidad
.
agregarRopa()
agregarDeterg(
)
sacarRopa()
Centrifugar()
Clase Encapsula o
agrupa
Atributos +
comportamientos
Atributos
(Caractersticas
)
Comportamient
o
(Acciones)
Marca: LG
Modelo: pqsrt
numeroSerie:123
Capacidad:
250Kg
.
agregarRopa()
agregarDeterg()
sacarRopa()
Centrifugar()
s1
Marca: Whirlpool
Modelo:abcd
numeroSerie: 444
Capacidad:120kg
.
agregarRopa()
agregarDeterg()
sacarRopa()
Centrifugar()
Clase Lavadora
objeto
Propiedades fundamentales de la
POO
Abstraccin(tipos de datos abstractos y
clases)
Encapsulado de datos
Ocultacin de datos
Herencia
Polimorfismo
La mayora de lenguajes de programacin
orientado a objetos deben implementar
estos conceptos
Abstraccin
Quitar las propiedades y acciones de
un objeto, para dejar solo aquellas
que sean necesarias.
Ejm:
Alguien puede encontrar ms
atributos o acciones que otra
persona.
De que depende?
Del tipo de problema
Abstraccin.
Vehiculo
Marca
Motor
Chasis
Acelerar()
Embragar()
Vehiculo
Marca
color
Ninguna.
Depende del
problema que
atributos y mtodos
son importantes
Acelerar()
Encapsulamiento
Es el proceso de ocultar todos los
detalles de un objeto que no
contribuyen a sus caractersticas
esenciales.
Esto significa que aquello que est
en interior de la clase est oculto,
solo las interfaces externas pueden
ver otros objetos.
Encapsulamiento
La TV oculta sus operaciones de la
persona que ve
TV
Encapsulamiento. Ocultar o
privado
}
+ Nombre
+ marca
- Resistencias
- Integrados }
atributos
pblicos
Atributos
PRIVADOS
}
+ Encender()
+ Apagar()
Acciones pblicos
-convertirVoltaje(
}
)
- cambiarFrec()
Acciones PRIVADOS
Herencia
La herencia permite que se pueden definir nuevas
clases basadas en clases existentes, lo cual
facilita reutilizar cdigo previamente desarrollado.
Si una clase deriva de otra (extends) hereda
todas sus variables y mtodos.
La clase derivada puede aadir nuevas variables
y mtodos y/o redefinir las variables y mtodos
heredados.
En Java, a diferencia de otros lenguajes
orientados a objetos, una clase slo puede
derivar de una nica clase, con lo cual no es
posible realizar herencia mltiple en base a
clases.
vehiculoAereo p
avion pa = new avion
Herencia
Un avion es un vehiculoAereo,
Avion hereda todas los atributos
y metodos del objeto padre aereo.
Herencia. ejemplo
Un avion es un vehiculo aereo.
Hereda TODOS los atributos y
mtodos de la clase vehiculo aereo
Un helicoptero es un vehiculo aereo
Hereda TODOS los atributos y
mtodos de la clase vehculo aereo
Vehiculo aereo
- n: nombre
+ aumentar()
+ disminuir(int)
avion
moto
pasajero
mivarc: float
carga
mivard: int
+ disminuir(int)
+misuma()
+ usarDisminuir()
Mensajes
Los mensajes son simples llamadas a
las funciones o mtodos del objeto
con el se quiere comunicar para
decirle que haga cualquier cosa.
Paso de mensajes
ControlRemot
o
Televisor
..
.
.
.
Encende
r
Encender()
subirVolumen()
Encender()
Apagar()
Polimorfismo
Es una propiedad que permite enviar
el mismo mensaje a objetos de
diferentes clases, de forma que cada
uno de ellos responde a ese mismo
mensaje de modo distinto
dependiendo de su implementacin.
Polimorfismo. Ejemplo
Avion y Helicoptero tienen el
comportamiento volar()
Ambos tienen el mismo mtodo
Ambos reciben el mismo mensaje
volar()
AMBOS reaccionan de manera
diferente
Porque ambos vuelan de forma
diferente
Volar()
Volar()
UML
Unified Modeling Language
Lenguaje de Modelado Unificado.
UML
Lenguaje estandar y universal para :
Organizar el proceso de diseo de tal
forma que los analistas, clientes,
desarrolladores y otras personas
involucradas en el desarrollo del
sistema lo comprenden
UML. diagramas
Elementos grficos que se combinan
para conformar diagramas.
Diagramas de clases
Diagramas de objetos
Diagramas de casos de uso
Diagramas de estado
DIAGRAMA DE CLASES
CLASE
atributos
.
metodos
DIAGRAMA DE OBJETOS
objeto
Valor del atributo
metodos
Breve codificacin
Recordatorio de codificacin en
lenguaje java
Clase. Es plantilla
para crear objetos
Objeto 1 de la claseA
Inst
an c
i ar
Valor atributo 1
Valor atributo 2
Metodo1()
Metodo2()
Clase A
el o
bje
to 1
Objeto 2 de la claseA
Valor atributo 1
Valor atributo2
o2
t
e
j
l ob
e
r
ncia
a
t
s
In
bj
et
Metodo1()
Metodo2()
Metodo1()
Metodo2()
ci
ar
In
st
an
Valor atributo 1
Valor atributo 2
el
o
Objeto 3 de la claseA
Atributo 1
Atributo 2
Metodo1( )
Metodo2( )
Observaciones
Un archivo extensin java tiene un
archivo extensin class.
A veces en un archivo extensin java
puede tener mltiples archivos
extensin class
Observaciones
Maysculas y minsculas si difieren
Nombres de variables
Sentencias por lo general en
minsculas
Toda sentencia finaliza en ;
Tipos de datos (String, int, float, void,
etc)
Retorno de una funcin y su tipo de
dato
Estructura de mtodos
acceso retorno nombre( entradas )
{ return si el tipo de dato es diferente de void
}
public double suma( double x )
{
return (x +2);
}
Estructura de mtodos
acceso retorno nombre( entradas )
{
return
}
public int operacion (int a )
{
return (a );
}
Mtodo setter
Establece el valor de los atributos
Mtodo getter
Recupera el valor de los atributos
public tipo get( )
{
return
}
Bibliografa
Cevallos, J. (2011). Curso de Programacin. Mxico: Alfaomega.
Deitel, P., & Deitel, H. (2012). Cmo programar en Java. Mxico:
Pearson.
Joyanes, L (2008). Fundamentos de programacin.Algoritmos,
estructura de datos y objetos. Madrid: McGraw-Hill