Está en la página 1de 22

Introducción a Conceptos de POO

Jaime Sepúlveda Caro


Conceptos básicos: Modelado
¿Que es un modelo?
 Un modelo es una simplificación de la realidad.

•Nos proporciona los planos


de un sistema
• Los modelos nos ayudan a visualizar cómo es o queremos
que sea un sistema.
Visión del mundo
• Los modelos nos permiten especificar la estructura o el
comportamiento de un sistema.
• Los modelos nos proporcionan plantillas que nos guían en
la construcción de un sistema.
Principios básicos del modelado
 La elección de qué modelos se creen que influyen directamente sobre
cómo se acomete el problema.

un modelado orientado a objetos

 Todo modelo puede ser expresado a diferentes niveles de precisión.

determinadas por las necesidades.


Principios básicos del modelado
 Los mejores modelos están ligados a la realidad.

¿cuándo se apartan de la realidad?


 Un único modelo no es suficiente.

Se afronta mejor desde pequeños modelos casi


independientes
Orientación a Objetos
Ecuación de Wirth:
Algoritmos + Estructuras de Datos = Programas.
Este es un concepto utilizado en los setenta. Los TAD = Tipo
Abstracto de Datos

Ahora un objeto es una extensión de un Tipo TAD.


Ventajas de la orientación a objetos
 Mantenimiento: fáciles de leer y comprender

 Modificaciones. realizar añadidos o supresiones a


programas
 Reusabilidad. se pueden usar numerosas veces y en distintos
proyectos.
 Fiabilidad. ampliamente testados
Ciclo de vida del software

Versiones
Costes del ciclo de vida
Factores de la calidad del software
 Eficiencia: Capacidad para hacer un buen uso.
 Transportabilidad: se utiliza de manera física y lógica en
otros equipos u estaciones.
 Verificabilidad: ensayos (cliente) testeador.
 Integridad: capacidad de proteger sus componentes.
 Fácil de utilizar:
Factores de la calidad del software

 Robustez: capacidad de los productos de software de funcionar


en diferentes ambientes casi que anormales, también incluye la
capacidad de soportar tareas repetitivas en donde se requiere alta
utilización de recursos de software.
 Reutilización: que el código se pueda utilizar en otras partes
de programa.
 Compatibilidad: que se pueda utilizar en combinaciones de
programa.
Conceptos básicos de la orientación a
objeto
 Abstracción:

• Los humanos gestionamos


la complejidad a través de
la abstracción.
Ejemplo: automóvil
Pensamos que es un objeto
bien definido, con un
comportamiento propio y
único.
Abstracción
 Para gestionar la abstracción utilizamos clasificaciones
jerárquicas.
 Divide y vencerás.
 Creamos subsistemas.
ejemplo: La dirección, los frenos, el equipo de
sonido, calefacción, etc.
Tres principios de la POO.
Los lenguajes de programación orientada a objetos
proporcionan mecanismos que ayudan a implementar el
modelo orientado a objetos. Estos mecanismos son:
 Encapsulado.
 Herencia.
 Polimorfismo.
Encapsulado
Mecanismo que permite juntar el código y datos que manipula, y
que mantiene a ambos alejados de posibles interferencias o usos
indebidos.

Las luces interfieren cuando yo


cambio la marcha?

La base del encapsulado es la


clase
Encapsulado: principio de clase
Herencia
La mayoría de nosotros ve de manera natural nuestro
mundo como objetos que se relacionan entre ellos de
una manera jerárquica, la herencia interactúa con el
encapsulado.
Herencia
Ejercicio
 Realice un diagrama de clases para implementar en POO una
tienda de alquileres de video.
 Características:
 Alquiler de DVD, cintas, formatos VHS.
 Si una persona se afilia puede pedir dos carnets para que lo utilice
otra persona. Afiliado-cliente beneficiarios.
 Los afiliados tienen nombre, apellido, dirección, sexo, tipo de
afiliación, etc;
 Tener en cuenta: nombre de película, estreno, valor alquiler,
factura, detalle de factura, tipo de película, actores.
 Determine cuales son las superclases.
 Defina cada una de las clases, construyendo así el diccionario de
datos
Polimorfismo
 Del griego muchas formas.
 Es una característica que le permite a una interfaz ser
utilizada por una clase general de acciones, la acción
específica se determina a partir de la naturaleza exacta de la
situación por ejemplo
Pila: una lista donde el ultimo
elemento que entra es el primero
que sale.
Podemos utilizar métodos para
una pila de:
•Enteros
•Reales
•Caracteres
Polimorfismo
Comportamientos diferentes, asociados a objetos distintos,
pueden compartir el mismo nombre, al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al
objeto que se esté usando. O dicho de otro modo, las
referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un
comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del objeto
referenciado.
Algunos lenguajes proporcionan medios más estáticos (en
"tiempo de compilación") de polimorfismo, tales como las
plantillas y la sobrecarga de operadores de C++.
 Gracias

También podría gustarte