Introduccion de la POO Ramon
1.- Introducción al
paradigma de la
Programación Orientada a
Objetos (POO)
Dr. Ramón Roque Hernández
ramonroque@yahoo.com
1
Introducción
Programación: Actividad compleja
Crisis del Software
Imponiendo orden al caos
Programación Orientada a Objetos
Definición de POO
Origen de la POO
2
Ing. Ramón Roque Hdz., M.C.
1
Programación Orientada a ObjetosProgramación: Actividad compleja
Los problemas que se intentan
resolver con el software implican
elementos complejos propios del área
a la que pertenecen.
Además, es difícil gestionar el
proceso de desarrollo de software.
3
Programación: Actividad compleja (2)
“Un constructor pensaría
raramente en añadir un
subsótano a un edificio ya
construido de 100
plantas… Los usuarios de
sistemas de software casinunca lo piensan dos veces
a la hora de solicitar
cambios equivalentes…De
todas formas (dicen ellos)
es simplemente cosa de
programar”
4
Ing. Ramón Roque Hdz., M.C.
2
Programación Orientada a Objetos
Crisis del software
La incapacidad humana de dominar la complejidad
del software conlleva a:
Proyectos retrasados
Proyectos que exceden el presupuesto
Proyectos deficientes que no cumplen losrequerimientos
5
Imponiendo orden al caos
“La técnica de dominar la complejidad se conoce desde
tiempos remotos: divide et impera (divide y vencerás)”.
[Dijkstra]
“Para entender un nivel dado de un
sistema, basta con comprender unas
pocas partes (no necesariamente
todas) a la vez”.
Descomposición es la clave:
Descomposición algorítmica tradicional
Descomposición orientada a objetos
6
Ing. Ramón RoqueHdz., M.C.
3
Programación Orientada a Objetos
Programación Orientada a Objetos
POO es un conjunto de técnicas que pueden
utilizarse para desarrollar programas eficientemente.
Los objetos son los elementos principales de
construcción.
La Orientación a Objetos (OO) es el estilo
dominante de programación, descripción y modelado
de hoy en dia.
7
La POO es …
“Un método de implementación en elque los
programas se organizan como colecciones
cooperativas de objetos, cada uno de los cuales
representa una instancia de alguna clase y cuyas
clases son todas miembros de una jerarquía de clases
unidas mediante relaciones de herencia”
Grady Booch
8
Ing. Ramón Roque Hdz., M.C.
4
Programación Orientada a Objetos
Origen de la POO
Ole-Johan Dahl y Kristen Nygaard,
científicos y profesores delNorwegian Computing Center son
considerados los “padres” de la
Orientacion a Objetos.
Ellos introdujeron los conceptos
principales de OO, y crearon los
lenguajes de programación
SIMULA 1 (1961-1965) y
SIMULA 67 (1965-1968) que los
implementaban.
9
Los conceptos de OO introducidos por SIMULA…
Ya incluían los conceptos de clase, subclase, herencia, creación
dinámica de objetos y ocultamiento deinformación.
Provienen del mundo real.
Tardaron aprox. 20 años en ganar entendimiento y popularidad.
Han influenciado a los lenguajes de programacion modernos, a
las metodologias y a los lenguajes de modelado.
Los han adoptado lenguajes como Smalltalk, C++, Java y C#
10
Ing. Ramón Roque Hdz., M.C.
5
Programación Orientada a Objetos
El modelo de Objetos
Objetos en el mundo real
PropiedadesMétodos
Abstracción
Clases y Objetos
Encapsulamiento
Mensajes
Constructores
Destructores
Herencia
Simple
Múltiple
Clases Abstractas
Sobreescritura
Sobrecarga
Polimorfismo
11
Objetos en el mundo real
Lavadora
Televisión
Perro
Persona
Factura
12
Ing. Ramón Roque Hdz., M.C.
6
Programación Orientada a Objetos
Podemos darnos
cuenta que…
Los objetos poseen características que
los distinguenentre sí.
Los objetos tienen acciones asociadas
a ellos.
13
Ejemplo: PERRO
Características:
Nombre: “FIDO”
Raza: “Chihuahua”
Color: “Café”
….etc…
Acciones:
Ladrar [“Guau Guau”]
Comer [“Chomp Chomp”]
Dormir [“Zzzzzzzz”]
…etc…
14
Ing. Ramón Roque Hdz., M.C.
7
Programación Orientada a Objetos
¿Cómo modelar un objeto real en un
programa?
Las “características” son PROPIEDADES o datos.
Las...
Regístrate para leer el documento completo.