Metodologa Orientada a Objetos Metodologa Orientada a Objetos
Metodología Orientada a Objetos
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í. Modelo de objetos Describe las propiedades estructurales del sistema y representa los aspectos estáticos Modelo dinámico Describe y representa los aspectos temporales del comportamiento del sistema Modelo funcional Describe las propiedades estructurales y representa los aspectos transformacionales de función del sistema
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
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.
Objeto Entidad provista de un conjunto de propiedades o atributos (datos) funcionalidad y de (métodos) consecuentemente reaccionan comportamiento los mismos a eventos. o que 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.
Clase 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.
Tipos de clases Clase Control Clase Entidad Clase Interfaz Gestiona el flujo de operación de un programa Son las que se utilizan para crear objetos que manejan datos Son las que manejan las entradas y salidas de la información
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. También, 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.
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
Herencia 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.
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++. •
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 Protegidos Privado 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. 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 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
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.
Metodología orientada a objeto Ejemplo
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,
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. Red Globo. Diametro = 10 Globo. 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.
Metodología orientada a objeto Métodos Los métodos de un globo se denominan de este modo. Globo. Inflar Globo. Desinflar Globo. Hacer. Ruido(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.
Metodología orientada a objeto Eventos El globo podría responder a un evento de la siguiente manera. Sub Globo_Pinchazo() Globo. Hacer. Ruido("Bang") Globo. Desinfla Globo. inflado = False End Sub En este caso, el código describe el comportamiento del globo cuando se produce un evento Pinchazo: llama al método Hacer. Ruido 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.
- Slides: 33