1.1 elementos en el paradigma orientado a objetos

1,387
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,387
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1.1 elementos en el paradigma orientado a objetos

  1. 1. 1.1 Elementos del modelo de objetos: clases, objetos, abstracción, modularidad, encapsulamiento, herencia y polimorfismo. 1.2 Lenguaje de modelado unificado: diagrama de clases. Elementos en el paradigma de programación orientado a objetos.
  2. 2. Paradigma de programacion orientado a objetos. (PPOO) ● Abstracción/Modularidad ● Clase: Nombre, atributos y métodos ● Objeto: Identidad, estado y comportamiento ● Encapsulamiento: ● Relaciones: Asociación, agregación, composición, herencia ● Conceptos: Cohesión, acoplamiento, polimorfismo ● Paquetes / API's
  3. 3. Abstracción: Proceso mental que permite distinguir la esencia de las cosas. Abstracción: modelo de un fenómeno, 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. 4. Ejemplo: (Abstracción de datos) Un semáforo: puede verse desde dos puntos de vista. 1o. por su utilidad: Artefacto que permite regular el trafico. (abstracción) 2o. por sus componentes: triada de focos de colores, verde, rojo y amarillo (modularidad)
  5. 5. Cada uno de los tres focos permanece encendido por unos segundos, el rojo significa pare, el verde siga y el amarillo precaución antes de detenerse. Tendrá que seguirse la convención para que el trafico pueda ser seguro. (Abstracción funcional) Sin embargo falta el funcionamiento:
  6. 6. Modelos abstractos en el diseño La abstracción de datos se modela mediante clases encapsuladas. La abstracción funcional mediante algoritmos.
  7. 7. Encapsulamiento: proceso de ocultar la información irrelevante de una clase al tiempo que se destacan los atributos relevantes en la abstracción. Se modela un encapsulado colocando dentro de un diagrama de clase UML la definicion para los atributos y metodos.
  8. 8. • Are single, uniquely identifiable entities or items • Used as the building blocks of object­oriented   programming • Have identity, data, and behavior • Can be simple or complex • Can be real or imaginary • Have attributes and operations • Are a dynamic instance of a class Objects.
  9. 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. 10. En resumen: ● Una clase tiene ● Nombre ● Atributos ● Métodos Es una plantilla para construir objetos ● Un objeto tiene ● Identidad ● Estado ● Comportamiento Es una instancia particular y única de una clase.
  11. 11. Relaciones entre clases: ● Asociación. (“usa un”) ● Agregación. (“tiene un”) ● Composicion (“contiene un”) ● Herencia. (“es un”)
  12. 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. 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. 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. 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. 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. 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. 18. The implementation of a polymorphic function depends on the object to which it is applied. Los mecanismos del polimorfismo son la sobrecarga de métodos y la redefinicion de métodos
  19. 19. Es importante distinguir los tipos de abstracción: a) Abstracción de Datos.- Permite delimitar los atributos y métodos que deben servir para modelar una clase de objetos encapsulada. b) Abstracción Funcional.- Sirve para modelar la interacción lógica, es decir como se darán las instrucciones de entrada, procesamiento, cálculos y salidas en el algoritmo que modela las operaciones en las clases de prueba. c) Abstracción Contextual.- Integración de las dos abstracciones anteriores en una posible solución que utilice de cierto, los acervos de conocimientos previos y tome en cuenta las restricciones y los riesgos.
  20. 20. d) Abstracción Paramétrica.- Cuando se diseñan los métodos 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 código y se tiene una mayor legibilidad, flexibilidad y mantenibilidad en los desarrollos de software. e) Abstracción Genérica.- Es un tipo especial de abstracción paramétrica que se usa en las clases genéricas pero en lugar de parametrizar variables se parametrizan tipos de datos para reutilizar algoritmos.
  21. 21. La razon de ser del PPOO Las bibliotecas de clases y las apis tienen la importante misión de estar disponibles como un acervo para el programador. Y ellas justifican su existencia por dos razones: ● Facilidad de reuso. ● Facilidad de mantenimiento.

×