La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a programación orientada a objetos

Presentaciones similares


Presentación del tema: "Introducción a programación orientada a objetos"— Transcripción de la presentación:

1 Introducción a programación orientada a objetos
Julio Cesar González Cervantes

2

3

4 Clasificación del Software
Sistemas Operativos Multitarea Multiusuario Multiproceso Línea Comando Interfaz Gráfica Windows, Unix Unix MS DOS Windows, Macintosh Lenguajes de Programación Bajo Nivel Nivel Medio Alto Nivel Ensamblador Visual Basic, C Aplicación De Uso General Aplicación De Uso Especifico Desarrollados a la Medida. Proc. Textos Hoja Cálculo Base datos Presentación Word Excel Acces, SQL server Power point Antivirus Compresores Diseño. Etc. Autocad, Corel, Flash, etc. Nominas , Inventarios, etc. Sistemas de Bancos

5 Categorías de los Lenguajes de Programación
Según su Nivel de Abstracción 1. Lenguaje máquina (lenguaje de bajo nivel) Es el que entiende la computadora. Las instrucciones se expresan en forma binaria. Los programas creados en lenguaje máquina solo pueden ejecutarse en los procesadores para los que fueron creados.

6 Categorías de los Lenguajes de Programación

7 2. Lenguaje Ensamblador (lenguaje de nivel medio)
Categorías de los Lenguajes de Programación 2. Lenguaje Ensamblador (lenguaje de nivel medio) Emplea representación simbólica y utiliza procedimientos mnemotécnicos de funciones matemáticas. Los datos se identifican con nombres y permiten la introducción de comentarios para entender el programa con mayor facilidad y optimiza los recursos del hardware.

8 Categorías de los Lenguajes de Programación
3. Lenguaje de alto nivel Lenguajes más acorde con el lenguaje humano. Utilizan palabras y frases (por lo general en inglés). Permiten modificar los códigos de los programas con facilidad. Son independientes de la estructura física de la computadora, contando con instrucciones de uso frecuente como las funciones matemáticas. Son lenguajes de programación alejados del lenguaje máquina lo cual necesitan ser traducidos antes de ejecutarse y esta tarea se realiza por medio de los intérpretes o los compiladores:

9 Línea de tiempo histórica de los lenguajes de programación.

10 Línea de tiempo histórica de los lenguajes de programación.
Primera Generación: lenguaje de máquina Consistía en sucesiones de dígitos binarios. Aún en la actualidad, es el único lenguaje interno que entiende la computadora; los programas se escriben en lenguajes de mayor nivel y se traducen a lenguaje de máquina. Segunda Generación: lenguajes ensambladores fines En lugar de usar códigos binarios, las instrucciones se representan con símbolos fáciles de reconocer, conocidos como mnemotécnicos. Aún se utilizan estos lenguajes cuando interesa un nivel máximo de eficiencia en la ejecución o cuando se requieren manipulaciones intrincadas.

11 Tercera Generación: Años '60
Tercera Generación: Años '60. Los lenguajes de esta generación se dividen en tres categorías, según se orienten a: Procedimientos: la forma en la que se programan. Problema: El problema que intentan resolver. Objeto: Como se encarara el objeto a desarrollar. Lenguajes como COBOL, FORTRAN y Basic son los ejemplos de esta generación Cuarta Generación: Las características generales de los lenguajes de cuarta generación son: Uso de frases y oraciones parecidas al inglés para emitir instrucciones. Quinta Generación: o Lenguajes naturales Esta generación incluye la inteligencia artificial y sistemas expertos. En lugar de sólo ejecutar un conjunto de órdenes, el objetivo de estos sistemas es “pensar” y anticipar las necesidades de los usuarios. Estos sistemas se encuentran aún en desarrollo.

12 Evolución de la programación

13 Evolución de la programación
Programación lineal Programación Modular Programación Estructurada Programación Orientada a Objetos

14 Programación lineal Los lenguajes de programación lineal (BASIC, COBOL Y FORTRAN) no tenían facilidad para reutilizar el código existente de programas. De hecho se duplicaban segmentos de software cada vez más en muchos programas. Los programas se ejecutaban en secuencias lógicas, haciendo la lógica difícil de comprender. El control de programas era difícil y se producían continuos saltos a lo largo del referido programa. Aún más, los lenguajes lineales no tenían capacidad de controlar la visibilidad de los elementos llamados datos

15 Programación Modular El soporte más elemental de la programación Modular llegó con la aparición de la subrutina. Una subrutina ha creado una secuencia de instrucciones a las que se les da un nombre independiente; una vez que se ha definido, la subrutina se puede ejecutar simplemente incluyendo el nombre del programa siempre que se requiera. Las subrutinas proporcionan una división natural de las tareas; diferentes programas utilizan. Aunque las subrutinas proporcionan el mecanismo básico de la programación Modular, se necesita mucha disciplina para crear software bien estructurado. Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original.

16 Programación Estructurada
Un concepto importante en campo de la programación Estructurada: Abstracción, ya que la Abstracción se puede definir como la capacidad de examinar algo sin preocuparse de los detalles internos. En un programa estructurado, es suficiente conocer que un procedimiento sea fiable, para que se pueda utilizar sin tener que conocer cómo funciona su interior. Esto se conoce como una Abstracción funcional y es el núcleo de la programación estructurada. Hoy casi todos los lenguajes de programación tienen construcciones que facilitan la programación estructurada. La programación estructurada sigue tres reglas: la secuencia, la iteración y la decisión.

17 Programación Orientada a Objetos ( POO , OOP)
Se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos. Un lenguaje se dice que está basado en objetos si soporta como una característica fundamental del mismo. El elemento fundamental de la (POO) es, como su nombre lo indica, el objeto. La programación orientada a objetos (POO) toma como modelo a los objetos reales para elaborar su contraparte en software.

18 La programación orientada a objetos nos brinda una forma natural de ver el proceso de programación, a saber, mediante el modelado de objetos reales, sus atributos y comportamiento. La programación orientada a objetos proporciona también comunicación entre los objetos. Tal como las personas se envían mensajes entre sí, los objetos también se comunican mediante mensajes. La programación orientada a objetos encapsula datos (atributos) y funciones (operaciones) en paquetes llamados objetos; los datos y las funciones de un objeto están íntimamente ligados.

19 Propiedades de la Programación Orientada a Objetos
La orientación a objetos trata de cumplir las necesidades de los usuarios finales, así como las propias de los desarrolladores de productos software. Estas tareas se realizan mediante la modelización del mundo real. El soporte fundamental es el modelo objeto. Las propiedades más importantes de este modelo son: Abstracción Encapsulamiento Modularidad Jerarquía Polimorfismo Otras propiedades: concurrencia (multitarea), persistencia, genericidad, manejo de excepciones.

20

21 Ventajas de POO La OOP proporciona las siguientes ventajas sobre otros lenguajes de programación Uniformidad. Ya que la representación de los objetos lleva implica tanto el análisis como el diseño y la codificación de los mismos. Comprensión. Tanto los datos que componen los objetos, como los procedimientos que los manipulan, están agrupados en clases, que se corresponden con las estructuras de información que el programa trata. Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan.

22 Ventajas de POO (Cont) Estabilidad. Dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo. Reusabilidad. La noción de objeto permite que programas que traten las mismas estructuras de información reutilicen las definiciones de objetos empleadas en otros programas e incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinación de objetos ya definidos donde estos están relacionados de una manera particular.

23 Ventajas del Modelo orientado a objetos con respecto al modelo estructurado:
Un modelo de objetos es más cercano a la realidad que un modelo funcional. Un desarrollo realizado con el modelo orientado a objetos es más fácil de mantener y de reutilizar. El modelo orientado a objetos evita la redundancia en los procesos luego los códigos son más entendibles y resumidos. La integridad que dan los objetos a los datos evita ambigüedades en su uso, dando mayor seguridad en los resultados. El modelo orientado a objetos facilita la integridad de módulos que hallan sido realizados por separado sin correr riesgos en el manejo de los datos.

24 Qué es un objeto Los objetos son como los tipos abstractos de datos.
Un objeto es una colección de datos, junto con las funciones asociadas, utilizadas para operar sobre esos datos. La potencia real de los objetos reside en las propiedades que soportan: herencia, encapsulación (o encapsulamiento) y polimorfismo junto con los conceptos de objetos, clases, métodos y mensajes. Los humanos pensamos en términos de objetos. La abstracción nos permite ver imágenes u objetos del mundo real.

25 Qué es un objeto

26 Características de los Objetos
Se agrupan en tipos denominados clases. Contienen datos internos que definen su estado actual. Soportan ocultación de datos. (El usuario de una clase en particular no necesita saber cómo están estructurados los datos dentro de ese objeto) Pueden heredar propiedades de otros objetos. Pueden comunicarse con otros objetos enviando o pasando mensajes. Tienen métodos que definen su comportamiento.

27

28 Qué es una Clase Una clase es un tipo definido por el usuario que determina las estructuras de datos y las operaciones asociadas con ese tipo. Son como plantillas o modelos. Cuando se construye un objeto de una clase, se crea una instancia de clase. Instancia de clase = objeto

29 Una clase es la estructura de un objeto, es decir, la definición de todos los elementos de que está hecho un objeto. Un objeto es, por lo tanto, el "resultado" de una clase. En realidad, un objeto es una instancia de una clase, por lo que se pueden intercambiar los términos objeto o instancia (o incluso evento). Una clase se compone de dos partes: Atributos (denominados, por lo general, datos miembros): esto es, los datos que se refieren al estado del objeto Métodos (denominados, por lo general, funciones miembros): son funciones que pueden aplicarse a objetos

30

31

32

33

34 Bibliografía: http://delta.cs.cinvestav.mx/~fraga/Charlas/objetos.pdf
Universidad de los Andes / Proyecto CUPID2


Descargar ppt "Introducción a programación orientada a objetos"

Presentaciones similares


Anuncios Google