33
Metodología Orientada a Objetos

Prog.orientada a objeto

Embed Size (px)

Citation preview

Page 1: Prog.orientada a objeto

Metodología Orientada a Objetos

Page 2: Prog.orientada a objeto

Modelo de objetos Modelo dinámico Modelo funcional

Metodología Orientada a Objetos

Esta representada mediante modelos

Un modelo es un bosquejo que representa un conjunto real con cierto grado de precisión y en la forma más completa posible, pero sin pretender aportar una réplica de lo que existe en la realidad. Los modelos son muy útiles para describir, explicar o comprender mejor la realidad, cuando es imposible trabajar directamente en la realidad en sí.

Describe las propiedades estructurales del sistema y representa los aspectos estáticos

Describe y representa los aspectos temporales del comportamiento del sistema

Describe las propiedades estructurales y representa los aspectos transformacionales de función del sistema

Page 3: Prog.orientada a objeto

Metodología Orientada a Objetos

Durante el análisis y diseño orientado a objeto, se procura identificar, describir y definir los objetos que finalmente serán implementado en un lenguaje de programación orientado a objetos

Page 4: Prog.orientada a objeto

Metodología Orientada a Objetos

Abstracción: Denota las características esenciales de un objeto,

donde se capturan sus comportamientos. Cada objeto en el sistema

sirve como modelo de un "agente" abstracto que puede realizar

trabajo, informar y cambiar su estado, y "comunicarse" con otros

objetos en el sistema sin revelar cómo se implementan estas

características. Los procesos, las funciones o los métodos pueden

también ser abstraídos y cuando lo están, una variedad de técnicas

son requeridas para ampliar una abstracción.

Page 5: Prog.orientada a objeto
Page 6: Prog.orientada a objeto
Page 7: Prog.orientada a objeto

Entidad provista de un conjunto de propiedades o

atributos (datos) y de comportamiento o

funcionalidad (métodos) los mismos que

consecuentemente reaccionan a eventos. Se

corresponde con los objetos reales del mundo que nos

rodea, o a objetos internos del sistema (del programa).

Es una instancia a una clase.

Objeto

Page 8: Prog.orientada a objeto
Page 9: Prog.orientada a objeto

Definiciones de las propiedades y comportamiento de un

tipo de objeto concreto. La instanciación es la lectura de

estas definiciones y la creación de un objeto a partir de

ellas.

Clase

Page 10: Prog.orientada a objeto
Page 11: Prog.orientada a objeto

Tipos de clases

Clase Control Gestiona el flujo de operación de un programa

Clase Entidad Son las que se utilizan para crear objetos que manejan datos

Clase Interfaz Son las que manejan las entradas y salidas de la información

Page 12: Prog.orientada a objeto

Métodos en las clases

Son las funcionalidades asociadas a los objetos. Cuando

estamos programando las clases las llamamos métodos. Los

métodos son como funciones que están asociadas a un objeto.

Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia.

También,

Page 13: Prog.orientada a objeto

Tipos de métodos

Constructores Es un método que tiene el mismo nombre que la clase. Se ejecuta cuando se crea un objeto de una clase

Destructores Es un método que se utiliza para destruir un objeto

Accesores Es un método que devuelve el valor de un atributo privado de otro objeto

Mutadores Es un método que almacena un nuevo valor en un atributo. De este modo es como los objetos externos pueden modificar los datos encapsulados

Page 14: Prog.orientada a objeto
Page 15: Prog.orientada a objeto
Page 16: Prog.orientada a objeto
Page 17: Prog.orientada a objeto
Page 18: Prog.orientada a objeto

1. La herencia organiza y facilita el Polimorfismo y el

Encapsulamiento permitiendo a los objetos ser definidos y

creados como tipos especializados de objetos preexistentes.

2. Estos pueden compartir su comportamiento sin tener que

volver a implementarlo. Esto puede hacerse, agrupando los

objetos en clases y estas en árboles que reflejan un

comportamiento común.

3. Cuando un objeto hereda de más de una clase se dice que

hay herencia múltiple.

Herencia

Page 19: Prog.orientada a objeto
Page 20: Prog.orientada a objeto
Page 21: Prog.orientada a objeto

Polimorfismo: comportamientos diferentes, asociados a objetos

distintos, pueden compartir el mismo nombre, al llamarlos por ese

nombre se utilizará el comportamiento correspondiente al objeto que se

esté usando.

O dicho de otro modo, las referencias y las colecciones de objetos

pueden contener objetos de diferentes tipos, y la invocación de un

comportamiento en una referencia producirá el comportamiento

correcto para el tipo real del objeto referenciado.

Cuando esto ocurre en "tiempo de ejecución", esta última característica

se llama asignación dinámica. Algunos lenguajes proporcionan medios

más estáticos (en "tiempo de compilación") de polimorfismo, tales

como las plantillas y la sobrecarga de operadores de C++. •

Page 22: Prog.orientada a objeto
Page 23: Prog.orientada a objeto
Page 24: Prog.orientada a objeto
Page 25: Prog.orientada a objeto
Page 26: Prog.orientada a objeto

Permite ocultar la información a través de:

Controles de acceso: son los niveles de protección que ofrece la POO entre ellas están:

Público Los elementos de este tipo, pueden ser accedidos por cualquier tipo de usuario, son los que definen la interfaz, por lo que deben permitir que los usuarios puedan realizar todas las operaciones que permite la clase.

Protegidos

Se encuentran aquellos elementos a los que no debería tener acceso el usuario final, pero pueden ser manipulados por los diseñadores de aplicación para extender su funcionamiento de la clase, lo que solo puede ser logrado cuando se derivan nuevas clases

Privado

Este es el nivel máximo de protección, solo el o los encargados de elaborar la clase pueden accesar este tipo de elementos, se recomienda para aquellos métodos o variables que tienen una sola regla de funcionamiento y que por lo tanto no deberían ser cambiados por otros usuarios

Page 27: Prog.orientada a objeto

Hay lenguajes de programación que los defines de esta manera:

Si Define PRIVATE: estará disponible dentro de todo el Clase, pero no será accesible desde otras Clase del mismo proyecto.

Si Define PUBLIC: se podría acceder a la variable desde una Clase del proyecto distinto a donde se declara.

Si define STATIC: Se usa en los archivos de clase, no en los Módulos. Sirve para definir un comportamiento especial en todos los objetos de una misma clase.

Page 28: Prog.orientada a objeto

Metodología orientada a objeto

Ejemplo

Page 29: Prog.orientada a objeto

Metodología orientada a objeto

Lenguaje orientado a objetos, es decir, tenemos unos “objetos” (botones, textbox, formularios,etc), donde el usuario de nuestro programa va a interactuar con ellos (haciendo click, por ejemplo).

Explicamos con un sencillo ejemplo los conceptos de la programación orientada a objetos.

Un globo tiene propiedades (Color, Alto y Diametro), responde a eventos (Pinchazo) y puede ejecutar métodos (Desinfla, HacerRuido).

Page 30: Prog.orientada a objeto

Metodología orientada a objeto

Propiedades

Si pudiera programar un globo, el código de podría parecerse al siguiente "código" que establece las propiedades de un globo.

Globo.Color = Color.RedGlobo.Diametro = 10Globo.Inflado = True

Observe el orden del código: el objeto (Globo) seguido por la propiedad (Color) seguida por la asignación del valor (= Color.Red). Puede cambiar el color del globo sustituyendo un valor diferente.

Page 31: Prog.orientada a objeto

Metodología orientada a objeto

Métodos

Los métodos de un globo se denominan de este modo.Globo.InflarGlobo.DesinflarGlobo.HacerRuido(5)

El orden es parecido al de una propiedad: el objeto (un nombre), seguido por el método (un verbo).En el tercer método, hay un elemento adicional, llamado argumento, que especifica la distancia a que se elevará el globo. Algunos métodos tendrían uno o más argumentos para describir aun más la acción que se va a realizar.

Page 32: Prog.orientada a objeto

Metodología orientada a objeto

Eventos

El globo podría responder a un evento de la siguiente manera.

Sub Globo_Pinchazo()Globo.HacerRuido("Bang")Globo.DesinflaGlobo.inflado = FalseEnd Sub

En este caso, el código describe el comportamiento del globo cuando se produce un evento Pinchazo: llama al método HacerRuido con un argumento "Bang", (el tipo de ruido a realizar), luego llama al método Desinfla. Puesto que el globo ya no está inflado, la propiedad inflado se establece en False.

Si bien, en realidad no puede programar un globo, puede programar un formulario o control. Como programador, es el responsable. Decida las propiedades que se deben cambiar, los métodos que se deben invocar o los eventos que se deben responder para lograr la apariencia y el comportamiento deseados.

Page 33: Prog.orientada a objeto