Вы находитесь на странице: 1из 31

PROGRAMACION ORIENTADA A OBJETOS

capitulo uno

Complejidad inherente al software Se deriva de cuatro elementos: -Los usuarios no tienen la precisin para exponer sus ideas o necesidades acerca de su software. - complejidad del dominio del problema. -La dificulta de gestionar el dominio del desarrollo. -La posible flexibilidad a travs del software.

problemas Los usuarios no tienen la precisin para exponer sus ideas o necesidades acerca de su software. La dificultad de gestionar el proceso de desarrollo. LA flexibilidad a travs del software.

Crisis del software En 1968 se dio a conocer que el software era caro poco estable y escaso.

CICLO DE VIDA DEL SOFTWARE


ANALISIS

DISEO
IMPLEMENTACION DEPURACION MANTENIMIENTO

PROGRAMAION Y ABSTRACCION Un programa es una descripcin abstracta de un procedimiento O fenmeno que existe o sucede en el mundo real. EL PAPEL DE LA ABSTRACCION: Es la capacidad para aislar y encapsular la informacin y ejecucin. Cuando la programacin era basada en instrucciones binarias, esta era manejada por los programadores a travs de abstracciones para evitar que tuvieran que recordar la secuencias de bits. Los procedimientos y funciones fueron unos de los primeros mecanismos de abstraccin que se utilizaron ampliamente en los lenguajes de programacin. El procedimiento proporciono la primera posibilidad de ocultacin de la informacin.

Es una tcnica que proporciona la capacidad de dividir sus datos y procedimientos en una parte privada, solo accesible dentro del modulo. Los mdulos proporcionan un mtodo efectivo de ocultacin de informacin, pero no permiten realizar instalacin que es la capacidad de hacer mltiples copias en las zonas de datos.

Que es un TAD?

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

Exponer una definicin del tipo. Hacer disponible un conjunto de operaciones que se puedan manipular. Proteger los datas. Permitir instancias mltiples del tipo.

PROGRAMACION ESTRUCTURADA
Se emplea desde el principio de la dcada de los setenta, un programa estructurado se construye dividiendo el programa en funciones, esta divisin permite escribir cdigo mas claro y mantener el control sobre cada funcin.

PARADIGMAS DE LA PROGRAMACION
conjunto de teoras, y mtodos que juntos representan un medio de organizacin del conocimiento. Jenkins y Glasgow sugieren que existen cuatro clases de estilos de programacin: 1. orientado a procedimientos (algoritmos) 2. orientado a objetos (clases y objetos) 3. orientado a lgica (expresado en clculo de predicados) 4. orientado a reglas (reglas if-then)

Los procedimientos y funciones fueron unos de los primeros mecanismos de abstraccin que se utilizaron ampliamente en los lenguajes de programacin. El procedimiento proporciono la primera posibilidad de ocultacin de la informacin. Es una tcnica que proporciona la capacidad de dividir sus datos y procedimientos en una parte privada, solo accesible dentro del modulo. Los mdulos proporcionan un mtodo efectivo de ocultacin de informacin, pero no permiten realizar instalacin que es la capacidad de hacer mltiples copias en las zonas de datos.

RAZONES FUNDAMENTALES EN POO


La OO (orientada a objetos) es especialmente adecuada para realizar determinadas aplicaciones (realizacin de prototipos y simulacin de programas) Mecanismos de encapsulacin de POO, soportan un grado alto de reutilizacin de cdigo. Interfaces de usuario grficos (por iconos) y visuales. (manipulan

entrada y salida del usuario)

Programacin orientada A objetos


Conjunto de disciplinas que desarrollan y modelizan software que facilitan la construccin de sistemas complejos a partir de componentes. Los conceptos y herramientas orientados a objetos son tecnologas que permiten que los problemas del mundo real sean expresado de modo fcil y natural

Abstraccin:
Es uno de los medios con el cual nos enfrentamos con la complejidad inherente al software.

Encapsulamiento:
Propiedad que permite asegurar que el contenido de la informacin de un objeto est oculta al mundo exterior El objeto A no conoce lo que hace le objeto B, y viceversa

Modularidad:
Propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en si y de las restantes partes

Jerarqua:
Propiedad que permite una ordenacin de las abstracciones. Las dos jerarquas 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 operacin de diferentes formas, segn sea el objeto que se referencia en ese momento

La reutilizacin del software


La programacin 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.

Es la tcnica de programacin que permite inventar o definir nuevos tipos de datos (tipos de datos definidos por el usuario) adecuados a la aplicacin que se desea realizar. La abstraccin de datos es una tcnica muy potente que permite disear programas mas cortos, legibles y flexibles.

Se basa en la utilizacin de procedimientos o funciones sin preocuparse de cmo se implementan. Esto es posible si conocemos que hace el procedimiento, la sntesis y semntica.

Los TAD proporcionan varios beneficios al programador como los siguientes: Permite una mejor conceptualizacin y modelamiento del mundo real. mejora la representacin y facilita la comprensin. Clarifica los objetos basados en estructuras

y comportamiento comunes.
Mejora la robustez del sistema. Mejora el rendimiento Separa la implementacin de la especificacin. Permite la extensibilidad del sistema

La abstraccin define el dominio y estructura de los datos junto con la coleccin o conjunto de operaciones que acceden a los datos. Permite al diseador centrarse en como se usan los datos en el sistema para resolver el problema sin tener que preocuparse de cmo se representan y tratan los datos en la memoria de la

computadora

La programacin Orientada a objetos (POO) es una forma especial de programar, ms cercana a como expresaramos las cosas en la vida real. Grady Booch, autor del mtodo de diseo orientado a objetos, define la POO como:

Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto no es un dato simple, sino que contiene en su interior cierto nmero de componentes bien estructurados.

Una clase es la descripcin de un conjunto de objetos; consta de mtodos y datos que resumen caractersticas comunes de un conjunto de objetos. Una clase es la declaracin de un tipo de objeto Las clases son declaraciones de objetos, tambin se podran 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.

Describen el estado del objeto; consta de dos partes: * Nombre del atributo Valor del atributo Los objetos simples pueden constar de tipos primitivos como enteros, carcter, reales, boolean o tipos simples definidos por el usuario. Los objetos compuestos pueden constar de pilas, conjuntos, listas, etc.

Permite a los objetos ser construidos a partir de otros objetos. Es decir, la capacidad de un objeto para utilizar las estructuras de datos. El objetivo final es la reutilizabilidad o reutilizacin del cdigo ya desarrollado. La herencia supone una clase base y una jerarqua de clases que contienen las clases derivadas de la clase base. La herencia nos permite crear estructuras jerrquicas de clases donde es posible la creacin de sub-clases que incluyan nuevas propiedades y atributos. Estas sub-clases admiten la definicin de nuevos atributos, as como crear, modificar o inhabilitar propiedades.

Existen dos mecanismos de herencia utilizados comnmente en POO: herencia simple y herencia mltiple. Herencia simple. Un objeto puede heredar datos y mtodos de una nica clase, as como aadir o quitar comportamientos de la clase base. Herencia mltiple: es la propiedad de una clase de adquirir datos y mtodos de ms de una clase. Esta caracterstica suele ser comn a la mayora de los lenguajes OOP, aunque introduce un problema al existir la posibilidad de que el objeto sucesor herede el mismo atributo, aunque con distinto tipo y valor, de mas de un predecesor. Alguno de los lenguajes de programacin solucionan este problema de forma automtica, aunque los ms populares generan un error en el tiempo de compilacin. Recomendamos que se examinen con cuidado las clases para evitar en lo posible estos errores.

Permite actuar como un depsito de mtodos y atributos compartidos para las subclases de nivel inferior. Las clases abstractas no tienen instancias directamente. Se utilizan para agrupar

otras clases y capturar informacin que es comn al grupo.


La clase abstracta puede incluir mtodos implementados y no implementados o abstractos, miembros dato constantes y otros no constantes.

Una de las caractersticas fundamentales de la OOP es el polimorfismo, que es la posibilidad de construir varios mtodos con el mismo nombre, pero con relacin a la clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo mensaje a objetos de clases diferentes. Es la habilidad de crear programas que son independientes de la forma de los objetos que manipulan.

GRACIAS POR SU ATENCIN

Вам также может понравиться