1. La metodología orientada a objetos representa sistemas mediante modelos de objetos, clases y herencia que facilitan el encapsulamiento y polimorfismo. 2. Los objetos tienen propiedades (atributos) y comportamientos (métodos) y pueden heredar estos de clases padre. 3. El polimorfismo permite que métodos con el mismo nombre tengan comportamientos diferentes dependiendo del objeto, mientras que el encapsulamiento oculta información.
2. 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
3. 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
4. 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.
5.
6.
7. 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
8.
9. 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
10.
11. 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
12. 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,
13. 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
14.
15.
16.
17.
18. 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
19.
20.
21. 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++. •
22.
23.
24.
25.
26. 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
27. 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.
29. 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,
30. 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.
31. Metodología orientada a
objeto
Métodos
Los métodos de un globo se denominan de este modo.
Globo.Inflar
Globo.Desinflar
Globo.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.
32. 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.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 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.