La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Presentaciones similares


Presentación del tema: ""— Transcripción de la presentación:

26 Conceptos básicos del paradigma orientado a objetos
MC Beatriz Beltrán Martínez Primavera 2015

27 Introducción Crisis del software  programación estructurada
Problemas con la programación estructurada Sintácticos: Identificadores duplicados. Incompatibilidad de tipos. Incompatibilidad en el número de argumentos en un llamado a subprograma. FCC - BUAP Primavera 2015 BBM

28 Introducción Lógicos: Variables “globales” no iniciadas.
Variables “globales” modificadas accidentalmente, Argumentos de subprogramas pasados por referencia creyéndose que era por valor. Modificación del código por otro(s) grupo(s) distinto(s) al que lo creó. FCC - BUAP Primavera 2015 BBM

29 Algoritmos + Estructuras de Datos = Programas
Introducción La programación estructurada tradicional se basa fundamentalmente en la ecuación de Wirth: Algoritmos + Estructuras de Datos = Programas Esta ecuación significa que en la programación estructurada u orientada a procedimientos los datos y el código se trata por separado y lo único se realiza son funciones o procedimientos que tratan esos datos y los van pasando de unos a otros hasta que se obtiene el resultado que se desea. FCC - BUAP Primavera 2015 BBM

30 Solución Programación orientada a objetos
En lugar de tratar de modelar un problema en algo familiar a la computadora ahora se trata de acercar la computadora al problema. Es decir, modelar la realidad del problema a través de entidades independientes pero que interactúan entre sí y cuyas fronteras no estén determinadas por su instrumentación computacional sino por la naturaleza del problema. Estas entidades serán denominadas objetos. Resolver problemas consiste en definir objetos y sus acciones y entonces invocar las acciones enviando mensajes a los objetos que ocultan las características internas de cómo llevan a cabo estas acciones FCC - BUAP Primavera 2015 BBM

31 Solución La Programación Orientada a Objetos, POO (OOP, Object Oriented Programming, en inglés), es una técnica de programación cuyo soporte fundamental es el objeto. Un objeto es una extensión de un Tipo de Dato Abstracto (TDA). Un TDA es un tipo definido por el usuario, que encapsula un conjunto de datos y las operaciones sobre estos datos. A la hora de definir TDA’s (u objetos) se usa un concepto que ayuda a representar la realidad, la abstracción. La diferencia entre el concepto de TDA y el de objeto radica en que existen dos procesos con los que se forma el núcleo principal de la programación orientada a objetos, estos son la herencia y el polimorfismo. FCC - BUAP Primavera 2015 BBM

32 Principios de la POO Programar en un lenguaje orientado a objetos es definir clases que expresan una determinada funcionalidad la cual es común a todos los individuos de la clase. A través de esta funcionalidad los objetos dan respuesta a las solicitudes (mensajes) que les envían otros objetos. Las clases deben ser lo suficientemente CERRADAS como para que cada objeto pueda ocultar información (datos) que lo caracteriza como individuo. Las clases deben ser lo suficientemente ABIERTAS para permitir la reutilización, adaptación y extensión de las mismas a nuevas funcionalidades sin correr el riesgo de afectar el funcionamiento de lo que ya es correcto. Principio ABIERTO-CERRADO  piedra angular de la POO FCC - BUAP Primavera 2015 BBM

33 Principios de la POO Principio de Parnas u ocultamiento. No permitir que los usuarios modifiquen ni la representación de la información ni las operaciones sobre esa información. Principio de compartir comportamiento. Reutilizar código, no reinventarlo. Los mensajes entre los objetos son síncronos, al conjunto de mensajes que responde un objeto le llamamos protocolo. Un cálculo en la POO se lleva a cabo mediante el envío de mensajes entre objetos. FCC - BUAP Primavera 2015 BBM

34 Lenguajes de POO Lenguajes de POO LISP SMALLTALK SIMULA
Puros: Smalltalk, Eiffel, Actor Híbridos: C++, Objetive-C, Object-Pascal, Java Smalltalk Java FCC - BUAP Primavera 2015 BBM

35 Conceptos Básicos de la POO
Objeto: Abstracción del mundo real, en términos computacionales, es un ente encapsulado que contiene datos y métodos, y que es capaz de recibir mensajes del exterior. Tiene un estado y una cierta identidad. Es la instancia de una clase. Clase: Conjunto o colección de objetos que tienen en común estructura, comportamiento y características. Es un tipo definido por el usuario. FCC - BUAP Primavera 2015 Datos Métodos (Comportamiento) BBM

36 Conceptos Básicos de la POO
Método: Es la operación que se puede efectuar sobre los campos de un objeto (datos). Cuando el método es invocado se dice que se envía un mensaje al objeto a través del método, es esta la forma como el objeto cambia su estado. Identidad: Propiedad con la cual se puede distinguir un objeto de otros objetos (su nombre). Datos (atributos): Campos del objeto que representan características bien definidas de un objeto. FCC - BUAP Primavera 2015 BBM

37 Conceptos Básicos de la POO
Encapsulamiento u ocultamiento: Es un recurso para poder manejar la abstracción. Nos permite ver a los datos y a las operaciones como una unidad, oculta detalles de implementación. Herencia: Es un mecanismo por el cual, una clase de objetos puede expresarse como un caso especial de una clase más general, con lo cual incluye automáticamente toda la definición de datos y métodos de la clase genera FCC - BUAP Primavera 2015 BBM

38 Conceptos Básicos de la POO
Clase Base Clases Bases FCC - BUAP Primavera 2015 BBM Clases Derivadas Clase Derivada o Subclase Herencia Simple Herencia Múltiple

39 Ventajas de la POO Las ventajas más importantes de la programación orientada a objetos son las siguientes: Mantenibilidad: Facilidad de mantenimiento. Modificabilidad: Facilidad para modificar los programas. Reusabilidad: Los objetos, si han sido correctamente diseñados, se pueden usar numerosas veces y en distintos proyectos. Fiabilidad: Los programas orientados a objetos suelen ser más fiables ya que se basan en el uso de objetos ya definidos que están ampliamente testados. FCC - BUAP Primavera 2015 BBM

40 Introducción al Lenguaje Unificado de Modelado
MC Beatriz Beltrán Martínez Primavera 2015

41 Introducción UML es un lenguaje por que proporciona un vocabulario y las reglas para utilizarlo, además es un lenguaje de modelado lo que significa que el vocabulario y las reglas se utilizan para la representación conceptual y física del sistema. UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediante gráficos o mediante texto obteniendo modelos explícitos que ayudan a la comunicación durante el desarrollo ya que al ser estándar, los modelos podrán ser interpretados por personas que no participaron en su diseño sin ninguna ambigüedad. FCC - BUAP Primavera 2015 BBM

42 Introducción El lenguaje UML se compone de tres elementos básicos, los bloques de construcción, las reglas y algunos mecanismos comunes. Los bloques de construcción se dividen en tres partes: Elementos, que son las abstracciones de primer nivel, Relaciones, que unen a los elementos entre sí, y los Diagramas, que son agrupaciones interesantes de elementos. Existen cuatro tipos de elementos en UML, dependiendo del uso que se haga de ellos: elementos estructurales, elementos de comportamiento, elementos de agrupación y elementos de anotación. FCC - BUAP Primavera 2015 BBM

43 Introducción El desarrollo de software puede ser visto como una serie de transformaciones del modelo mental inicial al código actual FCC - BUAP Primavera 2015 Stakeholders Mental Model Requirements Model Arquitecture Model Design Model Solution Model Code BBM

44 Bloques de construcción
A continuación se van a describir todos los elementos que componen los bloques estructurales de UML, así como su notación, para que nos sirva de introducción y se vaya generando un esquema conceptual sobre UML. En temas sucesivos se tratará con más profundidad cada uno de los bloques. Elementos Estructurales: Los elementos estructurales en UML, es su mayoría, son las partes estáticas del modelo y representan cosas que son conceptuales o materiales. FCC - BUAP Primavera 2015 BBM

45 Bloques de construcción
Clases: Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Una clase implementa una o más interfaces. Gráficamente se representa como un rectángulo que incluye su nombre, sus atributos y sus operaciones. FCC - BUAP Primavera 2015 Ventana origen tamaño abrir() cerrar() mover() dibujar() BBM

46 Representación de clases
Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Un objeto es una instancia individual de una clase. Una clase se identifica por un nombre que la distingue del resto. Ese nombre sólo se denomina nombre simple; un nombre de camino consta del nombre de la clase precedido del nombre del paquete en el que se encuentra incluida. FCC - BUAP Primavera 2015 BBM Monitor marca modelo encender() Nombre Atributos Operaciones Hay que hacer una especial diferenciación para no confundir el concepto de clase con el de objeto.

47 Representación de clases
Un atributo es una propiedad de una clase identificada con un nombre. Describe un rango de valores que pueden tomar las instancias de la propiedad. Los atributos representan propiedades comunes a todos los objetos de una determinada clase Los atributos son propiedades interesantes de las clases. Una instancia de una determinada clase tendrá valores concretos para sus atributos, mientras que las clases tienen rangos de valores que pueden admitir sus atributos. Una operación es una implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre su comportamiento. Una operación representa algo que el objeto puede hacer. FCC - BUAP Primavera 2015 BBM


Descargar ppt ""

Presentaciones similares


Anuncios Google