1.1 elementos en el paradigma orientado a objetos

download 1.1 elementos en el paradigma orientado a objetos

If you can't read please download the document

Transcript of 1.1 elementos en el paradigma orientado a objetos

  • 1. 1.1 Elementos del modelo de objetos: clases, objetos, abstraccin, modularidad, encapsulamiento, herencia y polimorfismo. 1.2 Lenguaje de modelado unificado: diagrama de clases. Elementos en el paradigma de programacin orientado a objetos.

2. Paradigma de programacion orientado a objetos. (PPOO) Abstraccin/Modularidad Clase: Nombre, atributos y mtodos Objeto: Identidad, estado y comportamiento Encapsulamiento: Relaciones: Asociacin, agregacin, composicin, herencia Conceptos: Cohesin, acoplamiento, polimorfismo Paquetes / API's 3. Abstraccin: Proceso mental que permite distinguir la esencia de las cosas. Abstraccin: modelo de un fenmeno, objeto o concepto del mundo real. Modularidad: conjunto de componentes de un objeto. Modularidad: Proceso mental que permite distinguir los componentes de las cosas. 4. Ejemplo: (Abstraccin de datos) Un semforo: puede verse desde dos puntos de vista. 1o. por su utilidad: Artefacto que permite regular el trafico. (abstraccin) 2o. por sus componentes: triada de focos de colores, verde, rojo y amarillo (modularidad) 5. Cada uno de los tres focos permanece encendido por unos segundos, el rojo significa pare, el verde siga y el amarillo precaucin antes de detenerse. Tendr que seguirse la convencin para que el trafico pueda ser seguro. (Abstraccin funcional) Sin embargo falta el funcionamiento: 6. Modelos abstractos en el diseo La abstraccin de datos se modela mediante clases encapsuladas. La abstraccin funcional mediante algoritmos. 7. Encapsulamiento: proceso de ocultar la informacin irrelevante de una clase al tiempo que se destacan los atributos relevantes en la abstraccin. Se modela un encapsulado colocando dentro de un diagrama de clase UML la definicion para los atributos y metodos. 8. Aresingle,uniquelyidentifiableentitiesoritems Usedasthebuildingblocksofobjectoriented programming Haveidentity,data,andbehavior Canbesimpleorcomplex Canberealorimaginary Haveattributesandoperations Areadynamicinstanceofaclass Objects. 9. A class is a generic definition of an object All objects are "instantiated" or created from a class A class has name, attributes, and methods. A class is generic Classes 10. En resumen: Una clase tiene Nombre Atributos Mtodos Es una plantilla para construir objetos Un objeto tiene Identidad Estado Comportamiento Es una instancia particular y nica de una clase. 11. Relaciones entre clases: Asociacin. (usa un) Agregacin. (tiene un) Composicion (contiene un) Herencia. (es un) 12. Association .- Refers to the way in which objects interact. Objects are associated when one uses the services or operations of another. Ejemplo: Una persona usa un automovil. 13. Aggregation.- Refers to the process of defining an object in terms of its component parts. Is a type of Association Qualified by a "Has A" relationship Indicates a Whole/Part relationship. Ejemplo: La mesa tiene un mantel. 14. Composition.- Takes place when one object is contained within another qualified by a "Contains" relationship indicates strong ownership indicates life span dependency between part and whole. Is a type of Association is a type of Aggregation. Ejemplo: Un lapiz contiene grafito y madera. 15. Inheritance.- Is a mechanism for defining a new class in terms of an existing class qualified by the phrase "Is A" or "Kind of". Allows you to group related classes so they can be managed collectively and reused. Ejemplo: Un perico es un animal 16. Cohesion and Coupling.- Cohesion is a measure of how much an entity supports the same purpose within the system. Coupling is a measure of the dependencies between entities. Coupling is also a measure of the dependencies between objects. 17. Polymorphism.- Refers to functions that you can apply to objects of different classes to achieve the same semantic result similar operations defined for more than one class are polymorphic based on Inheritance. 18. The implementation of a polymorphic function depends on the object to which it is applied. Los mecanismos del polimorfismo son la sobrecarga de mtodos y la redefinicion de mtodos 19. Es importante distinguir los tipos de abstraccin: a) Abstraccin de Datos.- Permite delimitar los atributos y mtodos que deben servir para modelar una clase de objetos encapsulada. b) Abstraccin Funcional.- Sirve para modelar la interaccin lgica, es decir como se darn las instrucciones de entrada, procesamiento, clculos y salidas en el algoritmo que modela las operaciones en las clases de prueba. c) Abstraccin Contextual.- Integracin de las dos abstracciones anteriores en una posible solucin que utilice de cierto, los acervos de conocimientos previos y tome en cuenta las restricciones y los riesgos. 20. d) Abstraccin Paramtrica.- Cuando se disean los mtodos y las operaciones de las abstracciones de datos, funcional y contextual, puede haber redundancias que es posible evitar si se parametriza apropiadamente y, con esto se ahorra cdigo y se tiene una mayor legibilidad, flexibilidad y mantenibilidad en los desarrollos de software. e) Abstraccin Genrica.- Es un tipo especial de abstraccin paramtrica que se usa en las clases genricas pero en lugar de parametrizar variables se parametrizan tipos de datos para reutilizar algoritmos. 21. La razon de ser del PPOO Las bibliotecas de clases y las apis tienen la importante misin de estar disponibles como un acervo para el programador. Y ellas justifican su existencia por dos razones: Facilidad de reuso. Facilidad de mantenimiento.