Diseño Orientado a Objetos

42,581 views

Published on

Published in: Technology
6 Comments
24 Likes
Statistics
Notes
No Downloads
Views
Total views
42,581
On SlideShare
0
From Embeds
0
Number of Embeds
2,352
Actions
Shares
0
Downloads
0
Comments
6
Likes
24
Embeds 0
No embeds

No notes for slide

Diseño Orientado a Objetos

  1. 1. Diseño Orientado a Objetos
  2. 2. <ul><li>El diseño orientado a Objetos (mas conocido también como programación orientada a objetos, POO) es una metodología de programación que define programas en términos de &quot;clases de objetos“. entidades que combinan datos, procedimientos y propiedades. El diseño expresa un programa como un conjunto de estos objetos para realizar tareas. </li></ul>
  3. 3. <ul><li>De esta forma, un objeto contiene toda la información que permite definirlo e identificarlo,dispone de mecanismos de interacción que favorecen la comunicación entre objetos y el cambio de datos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan información y procesamiento. </li></ul>
  4. 4. <ul><li>El diseño orientado a objetos es totalmente distinto a los lenguajes de programación tradicionales, anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. Los programadores de lenguajes tradicionales escriben </li></ul><ul><li>funciones y después les pasan datos. Los programadores POO los definen con datos y métodos, después envían mensajes a los objetos para que realicen los métodos. </li></ul>
  5. 5. Origen Los conceptos de diseño orientado a objetos tienen origen en Simula 67 (1967), un lenguaje diseñado para hacer simulaciones de naves, un sistema completamente dinámico en el cual los objetos se pueden crear y modificar &quot;en marcha&quot; en lugar de tener un sistema basado en programas estáticos. creado en el Centro de Cómputo Noruego en Oslo. La idea ocurrió para agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamiento.
  6. 6. Origen <ul><li>POO tomó posición como la metodología de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de C++. </li></ul><ul><li>Su dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario (GUI), para los cuales el diseño está particularmente bien adaptado. </li></ul>
  7. 7. Origen <ul><li>Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, entre ellos BASIC y Pascal, con ello condujo a menudo problemas de compatibilidad. Los lenguajes orientados a objetos por otra parte, eran dificilesde aprender para los programadores que no estaban acostumbrados al POO. </li></ul>
  8. 8. Origen <ul><li>Para saltar este obstáculo, se crearon nuevos lenguajes orientados a objetos, pero permitiendo algunas características de los lenguajes tradicionales. El Eiffel fue un temprano y acertado lenguaje con esos objetivos. En la actualidad existe Java, y esta implementado en la mayoría de los navegadores web actuales. </li></ul>
  9. 9. POO y sus Conceptos <ul><li>Objeto: entidad provista de un conjunto de datos y de métodos. </li></ul><ul><li>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. </li></ul>
  10. 10. POO y sus Conceptos <ul><li>Método: algoritmo asociado a un objeto o clase, cuya ejecución se desencadena tras la recepción de un &quot;mensaje&quot;. Es lo que el objeto puede hacer. </li></ul><ul><li>Evento: un suceso en el sistema. El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. </li></ul>
  11. 11. POO y sus Conceptos <ul><li>Mensaje: una comunicación dirigida desde un evento a un objeto, que le ordena que ejecute uno de sus métodos. </li></ul><ul><li>Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto o clase, hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecución de algún método. </li></ul>
  12. 12. POO y sus Conceptos <ul><li>Estado interno: es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método y se utiliza para indicar distintas situaciones posibles para el objeto. </li></ul>
  13. 13. Características de POO <ul><li>Identidad: expresa que aunque dos objetos sean exactamente iguales en sus atributos, son distintos entre sí. </li></ul><ul><li>Encapsulamiento: También llamado &quot;ocultación de la información&quot;. Cada objeto está aislado del exterior, y expone una interfaz a otros objetos que especifica cómo pueden interactuar entre ellos. El aislamiento protege las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a éste. </li></ul>
  14. 14. Características de POO <ul><li>Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, pero se utilizará el comportamiento correspondiente al objeto en uso. Algunos lenguajes proporcionan medios más estáticos de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. </li></ul>
  15. 15. Características de POO <ul><li>Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. </li></ul>
  16. 16. Características de POO <ul><li>Mantenibilidad: debe ser fácilmente modificable. Es decir que los cambios en las condiciones externas (como la definición de una nueva variable) implicarán modificaciones pequeñas en el programa y/o sistema. El concepto de mantenibilidad implica que un programa, al igual que un ser vivo debe ser capaz de adaptarse a un medio ambiente siempre cambiante. </li></ul><ul><li>Re usabilidad: Indica que partes pueden ser reutilizados en la confección de otros programas. Los objetos definidos pueden ser extraídos e implantados en otro programa sin tener que realizar modificaciones al objeto. El objetivo final es construir una librería de objetos que permita realizar programas basándose en la técnica de cortar y pegar. </li></ul>
  17. 17. Diseño Orientado a Objetos Identidad Encapsulamiento Polimorfismo Herencia Mantenible Re usable

×