La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Programación Orientada a Objetos (POO)

Presentaciones similares


Presentación del tema: "Introducción a la Programación Orientada a Objetos (POO)"— Transcripción de la presentación:

1 Introducción a la Programación Orientada a Objetos (POO)
M.S.C. Ivette Hernández Dávila

2 Propiedades y comportamiento de los objetos
¿Qué es un objeto? Ejemplo: Si vamos a un aeropuerto. Éstos objetos tienen propiedades o atributos en común: poseen motor, ruedas y asientos, pero también se diferencian; es decir, tienen un comportamiento propio.

3 Definición de Objeto Entidad compleja provista de propiedades (datos, atributos) y comportamiento (funcionalidad, métodos). Cada objeto expone una interfaz a otros objetos que especifica cómo éstos pueden interactuar con él. Esta interfaz está dada por un conjunto de métodos; así es como la interfaz del automóvil estará formada por los métodos “arranca”, “frena”, “dobla”, etc., a través de los cuales podemos interactuar con el objeto.

4 Representación del objeto Auto
motor ruedas asientos arranca() frena() dobla() nombre del objeto atributos métodos El comportamiento es exclusivo del objeto; si bien algunos objetos a simple vista son iguales, internamente pueden ser muy distintos. Esto se conoce como encapsulamiento: los objetos presentan la misma interfaz pero ocultan información de su funcionamiento.

5 Encapsulamiento El encapsulamiento protege también al objeto de usos indebidos e inapropiados. El automóvil utilizará otros mecanismos para llevar a cabo su interfaz, como, por ejemplo, abrir válvulas, mover pistones, etc., que no les permitirá usar a otros objetos. Auto motor ruedas asientos arranca() frena() dobla() Conductor abrirValvulas() moverPistones()

6 Herencia Cuando definimos un objeto lo hacemos en función de otros objetos conocidos. En el ejemplo del automóvil, podría decir “es como un taxi, pero más chico”, o “es como una moto, pero tiene cuatro ruedas”. Sin darnos cuenta hacemos clasificaciones. Esto se conoce como herencia, y sirve para no tener que definir comportamientos de forma repetitiva.

7 Ejemplo Tendremos un objeto transporte, que tendrá propiedades como cantidad de pasajeros, cantidad de puertas, etc., y métodos como arranca, frena y dobla. De esta manera definiríamos un automóvil como un transporte, agregando las particularidades del automóvil que no estén definidas en transporte. Al agregar el objeto avión definido como un transporte, heredará de éste las propiedades (cantidad de pasajeros, cantidad de puertas) y los métodos (anda, frena y dobla).

8 Polimorfismo Notamos que no es lo mismo hacer andar un automóvil que un avión, de forma tal que necesitamos agregar el método arranca en automóvil, para que ruede, y en avión para que vuele. Esto se denomina polimorfismo, y nos permite tener muchas formas de comportamiento; o sea que la referencia al método arranca producirá el comportamiento correcto según el objeto al que se lo esté ordenando.

9 Comunicación entre los objetos
Para ordenarle a un objeto que haga algo, debemos mandarle un mensaje. A través de los mensajes establecemos la comunicación entre los objetos de forma tal que les ordenamos ejecutar un método con algunos parámetros.

10 Árbol de Jerarquía de herencia
Encontramos una nueva agrupación de nivel superior. En resumen, los objetos se agrupan en clases, y las clases, en árboles, siempre y cuando reflejen un comportamiento común. Transporte

11 Árbol de Jerarquía de composición
El automóvil, aparte de ser un objeto y además de ser un transporte, también está compuesto por más objetos con comportamientos distintos. Se denomina jerarquía de composición, y sirve para representar uno o varios objetos que están dentro de otro que los contiene.

12 Instancia Si tenemos un solo objeto automóvil, no significa que nuestro programa podrá tener un solo automóvil. El concepto de instancia, nos permite crear la cantidad de automóviles que deseemos. Por ejemplo, si nuestro objeto automóvil tiene una propiedad color, podemos tener instancias de automóvil con la propiedad color en rojo, azul o verde. Para lograr esto, cada objeto deberá tener un método, que nos permita crear una instancia de éste.

13 Modelado de la POO Existe diversidad de herramientas que ayudan al modelado de la programación orientada a objetos a través de estándares. Una de las más utilizadas es la de UML. UML usa como herramientas los diagramas gráficos para representar el sistema. Éstos son: Diagrama de clases. Diagrama de comportamiento. Diagrama de casos de uso. Diagramas de implementación.

14 Diagramas de Clases Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de agregación. Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso.

15 <Operaciones o Métodos>
Representación En UML, una clase es representada por un rectángulo que posee tres divisiones: <Nombre Clase> <Atributos> <Operaciones o Métodos>

16 Ejemplo Clase Una Cuenta Corriente que posee como características:
Balance Numero ID. Puede realizar las operaciones de: Depositar sacarDinero y consultarBalance.

17 Atributos y Métodos Los llamaremos miembros de la clase. Sus accesos pueden ser de cuatro diferentes tipos que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son: public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase ya sea fuera o dentro del paquete. private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos pueden manipularlo). protected (#, ):Será accesible desde las clases que se encuentren en el mismo paquete así como en todos sus subclases. Aunque las subclases que se encuentren fuera del paquete sus objetos o instancias no los podrán manipular. Friendly ( ): Indica que el atributo será accesible desde cualquier otra clase que se encuentre en el mismo paquete.

18 Relaciones Es necesario explicar el concepto de cardinalidad de relaciones: En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser: uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) número fijo: m (m denota el número).

19 Herencia Indica que una subclase hereda los métodos y atributos especificados por una superclase, de esta forma la subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la superclase (public y protected), ejemplo:

20 Composición Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye.

21 Agregación Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye.


Descargar ppt "Introducción a la Programación Orientada a Objetos (POO)"

Presentaciones similares


Anuncios Google