Introducción a programación orientada a objetos

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

INTRODUCCIÓN A LA PROGRAMACIÓN
Conceptos preliminares
Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
¿Qué son Los Lenguajes de Programación?
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
DESARROLLO DE PROGRAMAS
Lenguajes de programación
Lenguajes de programación
Introducción a la Programación
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Tipos de Datos Abstractos Modularidad
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Tipo de Dato Abstracto Tipos de datos:
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
INFORMACIÓN AUTOMÁTICA Ciencia que estudia el tratamiento
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Aplicación del paradigma orientado a objetos
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
TÍTULO DE LA PRESENTACIÓN
METODOLOGIA DE LA PROGRAMACION
Material de apoyo Unidad 1 Fundamentos de programación
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Introducción a la programación Orientada a objetos
TRADUCTOR DE UN PROGRAMA
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
Ingeniería de Software
INTRODUCCIÓN A LA COMPUTACIÓN
Inteligencia artificial
Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
LENGUAJE DE PROGRAMACIÓN
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Programación orientada a objetos. La programación orientada a objetos es un conjunto de normas, que se basan en la idea de construir un software de forma.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
(Software) 1. Definición de Software:  conjunto de instrucciones que las computadoras emplean para manipular datos.  Sin el software, la computadora.
¿Qué son Los Lenguajes de Programación?
Facultad de Ingeniería
Lenguajes de Programación
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Metodología de la programación
TELEMATICA 1 Tecnologías de la información y de las telecomunicaciones SOFTWARE 2010.
Prof. Flor Narciso Departamento de Computación
LENGUAJES DE PROGRAMACIÓN 8.1 BREVE HISTORIA. Traducción-Ejecución Bajo nivel o 1º Nivel Se dice que el código binario es de "bajo nivel" o "primer nivel"
Lenguajes de Programación
Lenguaje programación
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tendencia De Los Sistemas Operativos
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Programación Orientada a Objetos: CLASES Y OBJETOS
Fundamentos de Programación Unidad I Conceptos Básicos.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
1 Introducción a la Programación Orientada a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

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

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

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.

Categorías de los Lenguajes de Programación

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.

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:

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

Línea de tiempo histórica de los lenguajes de programación. Primera Generación: lenguaje de máquina 1940-1950. 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 1950. 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.

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.

Evolución de la programación

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

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

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.

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.

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.

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.

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.

http://www.crysfel.com/common/ejemplos/conceptosPoo/tns.jpg

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.

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.

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.

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.

Qué es un objeto

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.

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

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

www.oscarsotorrio.com/2008/10/default

Bibliografía: http://delta.cs.cinvestav.mx/~fraga/Charlas/objetos.pdf http://es.wikipedia.org/wiki/Programaci%C3%B3n_modular Universidad de los Andes / Proyecto CUPID2