1 / 21

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

Introducción a la Programación Orientada a Objetos (POO). M.S.C. Ivette Hernández Dávila. Propiedades y comportamiento de los objetos. ¿Qué es un objeto? Ejemplo: Si vamos a un aeropuerto.

lauren
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 interfaza 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 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. Conductor

  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, frenay dobla. • De esta manera definiríamos un automóvil como un transporte, agregando las particularidades del automóvilque 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 arrancaen 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 arrancaproducirá 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 delos 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á compuestopor más objetos con comportamientos distintos. • Se denomina jerarquía de composición, y sirve para representar uno o variosobjetos 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. Representación • En UML, una clase es representada por un rectángulo que posee tres divisiones:

  16. EjemploClase • 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.

More Related