[clase 3] repaso poo

Post on 22-Dec-2015

23 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Principios programación orientada a objetos:

TRANSCRIPT

Repaso Programación Repaso Programación orientada a objetosorientada a objetos

CORPORACIÓN UNIVERSITARIA CORPORACIÓN UNIVERSITARIA ADVENTISTAADVENTISTA

POO 2POO 2

Juan Guillermo MontoyaJuan Guillermo Montoya

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Estilo de programación que utiliza comoelemento esencial los OBJETOS.

Un “paradigma” de programación Una forma de pensar los problemas Una potente disciplina de diseño Una moderna técnica de programación

¿Qué es la Programación orientada a objetos?

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Características principales de la programación orientada a objetos

Abstracción Encapsulamiento Herencia Polimorfismo

Abstracción

la abstracción permite enfocarte en el objetivo (El qué) y eliminar el detalle del mismo (El como), solo así se puede lograr entender la composición del sistema en términos de funciones, servicios o características.

Visión simplificada de la realidad

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Encapsulamiento

Proceso de ocultar todos los detalles de un objeto que no contribuyen a sus características esenciales.

ir

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Abstracción vs Encapsulación Abstracción: nos centramos en la visión externa. Encapsulación: nos centramos en la visión interna.

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Encapsulamiento

Abstracción

Circulo 1

Circulo 2 Circulo 3

Principal

Ejemplo de Encapsulamiento

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Como aplicar encapsulamiento

Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseño en el código debe de incluir encapsulamiento, para ello debemos de hacer lo siguiente:

Mantener las variables de instancia protegidas (puede ser con un modificador de acceso, p.ej., private)

Hacer métodos de acceso públicos para forzar al acceso a las variables por medio de dichos métodos en lugar de acceder directamente.

Utilizar las convenciones de código para los nombres de los métodos, p. ej., set y get.

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Que es la herencia?

Es un mecanismo para compartir atributos y métodos entre clases.

Por la herencia se forman jerarquías de clases (superclases y subclases).

Las subclases heredan los atributos y métodos de las superclases.

Relación “es un”. Permite la reutilización de código.

Herencia

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Clase base

Clases derivadas Subclases

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Cual método se llama?El mas bajo siempre gana

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Recordar que la relación de herencia es en una sola dirección

El lobo es un canino pero el canino no es un lobo

Mantengan el contrato : override

(override o overload?)

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – POOPOO II – POO

Polimorfismo

Caracteristica donde la misma operación puede comportarse diferente en clases distintas.

El polimorfismo está muy ligado a la herencia.

Distintas instancias del mismo tipo interpretan el mismo mensaje en diferentes formas.

Consiste en definir métodos distintos, que comparten el mismo nombre, pero que se aplican a clases diferentes

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Se imaginan el potencial?

Con el principio de polimorfismo se puede escribir un código que no tiene que cambiar así se incluyan nuevas tipos de subclases en el programa (Reuso).

La única restricción es aplicar correctamente los principios.

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

Ventajas de la Programación Orientada a Objetos

La reutilización de código: Ahorra tiempo en el desarrollo de

programas. Se utiliza software que ya ha sido

probado. Fácil mantenimiento y depuración de

programas. Extensibilidad: posibilidad de ampliar la

funcionalidad de la aplicación de manera sencilla.

Modularidad y encapsulación: el sistema se descompone en objetos con unas responsabilidades claramente especificadas.

POO II – PROGRAMACION OOPOO II – PROGRAMACION OO

La POO debe producir software con las siguientes características:

Confiable ¿Cuándo fue la última vez que su televisor se estropeó?

Reutilizable ¿Un ingeniero eléctrico inventa un tipo nuevo de resistencia

cada vez que diseña un circuito? Los programadores continúan “reinventando la rueda”.

Mantenible Entre 60 y 80% del tiempo invertido en un programa se emplea

en el mantenimiento. ¡El desarrollo constituye sólo 20% de la ecuación!

Extensible El software no es estático, necesita cambiar para ser útil. La POO proporciona al programador diversas características

para extender el código: la herencia, el polimorfismo, el reemplazo de métodos, la delegación y los patrones de diseño.

Ventajas de la Programación Orientada a Objetos

top related