diapositivas poo

31
 PROGRAMACION ORIENTADA A OBJETOS

Upload: yuasbago

Post on 17-Jul-2015

297 views

Category:

Documents


2 download

TRANSCRIPT

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 1/31

 

PROGRAMACION

ORIENTADAA

OBJETOS

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 2/31

 

capitulouno

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 3/31

 

Complejidad

inherenteal software

Se deriva de cuatro elementos:

-Los usuarios no tienen la precisión para exponersus ideas o necesidades acerca de su software.- complejidad del dominio del problema.-La dificulta de gestionar el dominio del desarrollo.

-La posible flexibilidad a través del software.

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 4/31

 

problemas

Los usuarios no tienen la precisión paraexponer sus ideas o necesidades acerca de su

software.La dificultad de gestionar el proceso de

desarrollo. LA flexibilidad a través del software.

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 5/31

 

Crisis del software

En 1968 se dio a conocer que el software eracaro poco estable y escaso. 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 6/31

 

 ANALISIS

DISEÑO

IMPLEMENTACION

DEPURACION

MANTENIMIENTO

CICLO DE VIDA DEL SOFTWARE

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 7/31

PROGRAMAION Y ABSTRACCION

Un programa es una descripción abstracta de un procedimientoO fenómeno que existe o sucede en el mundo real.

EL PAPEL DE LA ABSTRACCION:Es la capacidad para aislar y encapsular la información y ejecución.

Cuando la programación era basada en instrucciones binarias, esta eramanejada por los programadores a través de abstracciones para evitar quetuvieran que recordar la secuencias de bits.Los procedimientos y funciones fueron unos de los primeros mecanismos de

abstracción que se utilizaron ampliamente en los lenguajes de programación.El procedimiento proporciono la primera posibilidad de ocultación de lainformación.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 8/31

Es una técnica que proporciona la capacidad dedividir sus datos y procedimientos en una parte

privada, solo accesible dentro del modulo. Losmódulos proporcionan un método efectivo deocultación de información, pero no permitenrealizar instalación que es la capacidad de hacermúltiples copias en las zonas de datos.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 9/31

¿Que es un TAD?

Es un tipo de dato definido por programador que se puede manipular de unmodo similar a los tipos de datos definidos por el sistema para construir untipo de dato se debe poder:

Exponer una definición del tipo.Hacer disponible un conjunto de operaciones que se puedan manipular.Proteger los datas.Permitir instancias múltiples del tipo.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 10/31

PROGRAMACION ESTRUCTURADA

Se emplea desde el principio de la década de los setenta, unprograma estructurado se construye dividiendo el programaen funciones, esta división permite escribir código mas claro y 

mantener el control sobre cada función.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 11/31

PARADIGMAS DE LA PROGRAMACION

conjunto de teorías, y métodos que juntos representan un medio deorganización del conocimiento.

 Jenkins y Glasgow sugieren que existen cuatro clases de estilos deprogramación:1. orientado a procedimientos (algoritmos)2. orientado a objetos (clases y objetos)3. orientado a lógica (expresado en cálculo de predicados)4. orientado a reglas (reglas if-then)

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 12/31

Los procedimientos y funciones fueron unos de los primerosmecanismos de abstracción que se utilizaron ampliamente en

los lenguajes de programación. El procedimiento proporcionola primera posibilidad de ocultación de la información.Es una técnica que proporciona la capacidad de dividir susdatos y procedimientos en una parte privada, solo accesibledentro del modulo. Los módulos proporcionan un métodoefectivo de ocultación de información, pero no permiten

realizar instalación que es la capacidad de hacer múltiplescopias en las zonas de datos.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 13/31

RAZONES FUNDAMENTALES ENP OO

La OO (orientada a objetos) es especialmente adecuada para

realizar determinadas aplicaciones (realización de prototipos y 

simulación de programas)

Mecanismos de encapsulación de POO, soportan un grado alto de

reutilización de código.

Interfaces de usuario gráficos (por iconos) y visuales. (manipulanentrada y salida del usuario)

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 14/31

Conjunto de disciplinas que desarrollan y modelizan software que

facilitan la construcción de sistemas complejos a partir de componentes.

Los conceptos y herramientas orientados a objetos son tecnologías

que permiten que los problemas del mundo real sean expresado de modo

fácil y natural

Programación orientada

A objetos

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 15/31

Abstracción:Es uno de los medios con el cual nos enfrentamos con la complejidadinherente al software.

Encapsulamiento:

Propiedad que permite asegurar que el contenido de la información de unobjeto está oculta al mundo exteriorEl objeto A no conoce lo que hace le objeto B, y viceversa

 Modularidad:

Propiedad que permite subdividir una aplicación en partes más pequeñas(llamadas módulos), cada una de las cuales debe ser tan independiente comosea posible de la aplicación en si y de las restantes partes 

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 16/31

 Jerarquía:

Propiedad que permite una ordenación de las abstracciones. Las dos jerarquías mas importantes de un

sistema complejo son:

Estructura de clase y 

Estructura de objetos

poliformismo

Propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas.

Permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y 

realizarla misma operación de diferentes formas, según sea el objeto que se referencia en ese

momento

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 17/31

La reutilización del software 

La programación orientada a objetos proporciona un mecanismo para

construir componentes de software reutilizables que pueden ser

interconectados entre si y de esta forma lograr grandes proyectos de software.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 18/31

Es la técnica de programación que permite inventar o definirnuevos tipos de datos (tipos de datos definidos por el usuario)adecuados a la aplicación que se desea realizar.

La abstracción de datos es una técnica muy potente que permitediseñar programas mas cortos, legibles y flexibles.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 19/31

Se basa en la utilización de procedimientos o funciones sin preocuparse de cómo

se implementan. Esto es posible si conocemos que hace el procedimiento, la síntesis y 

semántica.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 20/31

Los TAD proporcionan varios beneficios al programador como los siguientes:

Permite una mejor conceptualización y modelamiento del mundo real. mejora la

representación y facilita la comprensión. Clarifica los objetos basados en estructurasy comportamiento comunes.

Mejora la robustez del sistema.

Mejora el rendimiento

Separa la implementación de la especificación.

Permite la extensibilidad del sistema

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 21/31

La abstracción define el dominio y estructura de los datos

junto con la colección o conjunto de operaciones que acceden

a los datos.

Permite al diseñador centrarse en como se usan los datos en el

sistema para resolver el problema sin tener que preocuparse de

cómo se representan y tratan los datos en la memoria de lacomputadora

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 22/31 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 23/31

La programación Orientada a objetos (POO) es una

forma especial de programar, más cercana a comoexpresaríamos las cosas en la vida real.

Grady Booch, autor del método de diseño orientado aobjetos, define la POO como:

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 24/31

Podemos definir un objeto como un conjunto

complejo de datos y programas que poseenestructura y forman parte de una organización.

Un objeto no es un dato simple, sino que

contiene en su interior cierto número de

componentes bien estructurados.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 25/31

Una clase es la descripción de un conjunto de objetos; consta de

métodos y datos que resumen características comunes de un

conjunto de objetos. Una clase es la declaración de un tipo deobjeto Las clases son declaraciones de objetos, también se podrían

definir como abstracciones de objetos.

Cada vez que se construye un objeto a partir de una clase se esta

creando lo que es una instancia de esa clase lo que quiere decir que

un objeto no es mas que una instancia de una clase.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 26/31

Describen el estado del objeto; consta de dospartes:

* Nombre del atributo•  Valor del atributo

Los objetos simples pueden constar de tiposprimitivos como enteros, carácter, reales,boolean o tipos simples definidos por el usuario.

Los objetos compuestos pueden constar depilas, conjuntos, listas, etc.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 27/31

Permite a los objetos ser construidos a partir de otrosobjetos. Es decir, la capacidad de un objeto para utilizarlas estructuras de datos. El objetivo final es lareutilizabilidad o reutilización del código ya desarrollado.

La herencia supone una clase base y una jerarquía declases que contienen las clases derivadas de la clase base.

La herencia nos permite crear estructuras jerárquicasde clases donde es posible la creación de sub-clases queincluyan nuevas propiedades y atributos. Estas sub-clases

admiten la definición de nuevos atributos, así como crear,modificar o inhabilitar propiedades.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 28/31

Existen dos mecanismos de herencia utilizados comúnmenteen POO: herencia simple y herencia múltiple.

Herencia simple. Un objeto puede heredar datos y métodos deuna única clase, así como añadir o quitar comportamientos de laclase base.

Herencia múltiple: es la propiedad de una clase de adquirirdatos y métodos de más de una clase.

Esta característica suele ser común a la mayoría de los lenguajesOOP, aunque introduce un problema al existir la posibilidad deque el objeto sucesor herede el mismo atributo, aunque condistinto tipo y valor, de mas de un predecesor. Alguno de loslenguajes de programación solucionan este problema de forma

automática, aunque los más populares generan un error en eltiempo de compilación. Recomendamos que se examinen concuidado las clases para evitar en lo posible estos errores.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 29/31

Permite actuar como un depósito de métodos y atributos compartidos para las

subclases de nivel inferior.

Las clases abstractas no tienen instancias directamente. Se utilizan para agruparotras clases y capturar información que es común al grupo.

La clase abstracta puede incluir métodos implementados y no implementados o

abstractos, miembros dato constantes y otros no constantes.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 30/31

Una de las características fundamentales de la OOPes el polimorfismo, que es la posibilidad de construir

  varios métodos con el mismo nombre, pero conrelación a la clase a la que pertenece cada uno, concomportamientos diferentes. Esto conlleva lahabilidad de enviar un mismo mensaje a objetos declases diferentes. Es la habilidad de crear programas

que son independientes de la forma de los objetos quemanipulan.

 

5/14/2018 diapositivas poo - slidepdf.com

http://slidepdf.com/reader/full/diapositivas-poo 31/31

GRACIAS

POR  SU

ATENCIÓN