Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porvictor de la o Modificado hace 5 años
1
Conceptos básicos del paradigma orientado a objetos MC Beatriz Beltrán Martínez Otoño 2019
2
Introducción Crisis del software programación estructurada Problemas con la programación estructurada Sintácticos: a)Identificadores duplicados. b)Incompatibilidad de tipos. c)Incompatibilidad en el número de argumentos en un llamado a subprograma. 27 BBM FCC - BUAP Otoño 2019
3
Introducción Lógicos: a)Variables “globales” no iniciadas. b)Variables “globales” modificadas accidentalmente, c)Argumentos de subprogramas pasados por referencia creyéndose que era por valor. d)Modificación del código por otro(s) grupo(s) distinto(s) al que lo creó. 28 BBM FCC - BUAP Otoño 2019
4
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. 29 BBM FCC - BUAP Otoño 2019
5
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 30 BBM FCC - BUAP Otoño 2019
6
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. 31 BBM FCC - BUAP Otoño 2019 Solución
7
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 32 BBM FCC - BUAP Otoño 2019
8
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. 33 BBM FCC - BUAP Otoño 2019
9
Lenguajes de POO LISPSMALLTALK SIMULA Lenguajes de POO Puros: Smalltalk, Eiffel, Actor Híbridos: C++, Objetive-C, Object-Pascal, Java SmalltalkJava 34 BBM FCC - BUAP Otoño 2019
10
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. 35 BBM FCC - BUAP Otoño 2019 Datos Métodos (Comportamiento)
11
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. 36 BBM FCC - BUAP Otoño 2019 Conceptos Básicos de la POO
12
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 37 BBM FCC - BUAP Otoño 2019 Conceptos Básicos de la POO
13
38 BBM FCC - BUAP Otoño 2019 Conceptos Básicos de la POO Clase Base Clases Bases Clases Derivadas Clase Derivada o Subclase Herencia Simple Herencia Múltiple
14
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. 39 BBM FCC - BUAP Otoño 2019 Ventajas de la POO
15
Introducción al Lenguaje Unificado de Modelado MC Beatriz Beltrán Martínez Otoño 2019
16
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. 41 BBM FCC - BUAP Otoño 2019 Introducción
17
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. 42 BBM FCC - BUAP Otoño 2019 Introducción
18
El desarrollo de software puede ser visto como una serie de transformaciones del modelo mental inicial al código actual 43 BBM FCC - BUAP Otoño 2019 Stakeholders Mental Model Requirements Model Arquitecture Model Design Model Solution Model Code
19
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. 44 BBM FCC - BUAP Otoño 2019
20
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. 45 BBM FCC - BUAP Otoño 2019 Bloques de construcción Ventana origen tamaño abrir() cerrar() mover() dibujar()
21
46 BBM FCC - BUAP Otoño 2019 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. Monitor marca modelo encender() Nombre Atributos Operaciones
22
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. 47 BBM FCC - BUAP Otoño 2019 Representación de clases
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.