Академический Документы
Профессиональный Документы
Культура Документы
ORIENTADA A OBJETOS
INTRODUCCION A LA
PROGRAMACIN ORIENTADA A
OBJETOS
OBJETIVO
Fundamentos de
programacin.
Conceptos como algoritmo,
lenguaje de programacin,
programa, tipos de datos,
compilador, interprete.
TEMAS
Breve resea histrica POO
Que es la programacin OO?
En que se basa la Orientacin o Objetos?
Porqu Orientacin a Objetos?
Clases y objetos
Modificadores de acceso
Propiedades de la Orientacin a Objetos.
Resea Histrica POO
Decada de los 90 la Orientacin a Objetos OO se
convierte en uno de los motores clave de la industria del
software.
Tecnologa vieja y madura, se remonta a la dcada de
los 60
Lenguaje SIMULA67 desarrollado en 1967 (Ms antiguo)
A mitad de la dcada de los 70 crearon el lenguaje
SMALLTALK el primer lenguaje orientado a objetos
consistente y completo.
Paradigmas de
programacin.
Que es la programacin
Orientada a Objetos (POO)?
Tipo de programacin es un nuevo medio de
pensar sobre lo que significa computar, es
decir, cmo se puede estructurar
informacin en una computadora.
Permite dividir un problema en pequeas
unidades lgicas de cdigo, independientes
del resto del programa, que interactan
entre s. A estas pequeas unidades lgicas
de cdigo se les ha denominado objetos para
establecer una analoga entre las mismas y
los objetos materiales del mundo real.
Que es la programacin
Orientada a Objetos (POO)?
Paracomprender el cdigo de aplicaciones
complejas creadas mediante POO los
desarrolladores del mismo slo necesitan
entender los mensajes que los objetos se
envan entre s para entender cmo
funciona el programa.
Orientacin a
objetos
En que se basa la Orientacin o
Objetos?
La estructura del programa se simplifica
en gran medida si cada una de las
entidades u objetos del problema que se
est modelando corresponde directamente
con un objeto que se puede manipular
Representacin en
internamente en un programa.UMLOrden de Compra
Objeto real Idorden
Fecha
ObtenerID( )
ObtenerFecha( )
Registrar ( )
Cancelar ( )
Orden de
compra Orden de
compra
QUE ES UML?
Porqu Orientacin a
Objetos?
Se parece ms al mundo real
Permite representar modelos
complejos
Las plataformas de desarrollo la han
adoptado (Java / .NET)
Clases y Objetos
Que es un Objeto?
Es una cosa, una Entidad del mundo
real.
Orden de Compra Nombre del objeto
Idorden Atributos
Orden de Compra Fecha
ObtenerID( ) Operaciones ,
ObtenerFecha( ) mtodos
Registrar ( ) (Comportamiento)
Cancelar ( )
Camisa Cliente
Abstraccin
Relaciones
Herencia
Encapsulamiento
Propiedades de la OO
Abstraccin
Ignorancia Selectiva
La abstraccin facilita trabajar con
cosas complejas
Se enfoca en lo importante, ignora lo
que no es importante (simplifica)
Una clase es una abstraccin.
Propiedades de la OO
Encapsulamiento
Clases Derivadas
Ejemplo JAVA o
subclases
Propiedades de la OO
Herencia
Herencia Es-Un: herencia real,
donde la subclase es un tipo
especfico de la superclase
Un Cuadrado es un Rectngulo
Un perro es un mamfero
Un automvil es un vehculo a motor
Propiedades de la OO
Polimorfismo
Es la propiedad que tienen los
objetos de permitir invocar
genricamente un comportamiento
(mtodo) cuya implementacin ser
delegada al objeto correspondiente
recin en tiempo de ejecucin
El polimorfismo tiende a existir en
las relaciones de herencia, pero no
siempre es as
Propiedades de la OO
Polimorfismo
La definicin del mtodo reside
en la clase base
La implementacin del mtodo
reside en la clase derivada
La invocacin es resuelta al
momento de ejecucin Transpo
rte
Avanzar
Fren
ar
Transporte
Avanzar
Transpo
rte
Avanzar
Fren
Frenar ar
Transpo
rte
Avanzar
Fren
ar
CONCLUSIONES
La orientacin a objetos permite
una representacin ms directa
del modelo del mundo real en el
cdigo.
Transformacin requisitos del
sistema a la especificacin del
sistema se hace mucho ms
sencilla, que de la manera
tradicional (estructurada).
Las tecnologas (conceptos y
herramientas) orientados a
objetos facilitan que los
problemas del mundo real sean
!Muchas gracias!
PARADIGMAS DE PROGRAMACIN
Hay para todos los gustos
Estructurados (C, Pascal, Basic, etc.)
Funcionales (CAML)
Declarativos (Prolog)
Orientados a Objetos (C#, VB.NET,
Smalltalk, Java)
Orientados a Aspectos
Hbridos (Lisp, Visual Basic)
UML no es Metodologa!
QUE ES UN OBJETO
Linea Aerea
1
Emplea
1..*
Persona Vuelo Avin
1 Asignada-a * * Asignado-a 1
1 *
Supervisa