informatica:programacion:programacion_orientada_a_objetos
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:programacion_orientada_a_objetos [2023/03/22 09:40] – [Conceptos] tempwin | informatica:programacion:programacion_orientada_a_objetos [2024/11/08 13:16] (actual) – [Recursos] tempwin | ||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| Un objeto es una abstracción de algún hecho o ente del mundo real, con atributos que representan sus características o propiedades, | Un objeto es una abstracción de algún hecho o ente del mundo real, con atributos que representan sus características o propiedades, | ||
| + | |||
| + | * [[informatica: | ||
| ===== Pilares ===== | ===== Pilares ===== | ||
| - | * Herencia | + | * Encapsulamiento |
| - | * Cohesión | + | |
| * Abstracción | * Abstracción | ||
| + | * Herencia | ||
| * Polimorfismo | * Polimorfismo | ||
| - | * Acoplamiento | ||
| - | * Encapsulamiento. | ||
| + | En programación orientada a objetos veremos mucho también los conceptos siguientes: | ||
| + | |||
| + | * Acoplamiento | ||
| + | * Cohesión | ||
| ===== Conceptos ===== | ===== Conceptos ===== | ||
| Línea 25: | Línea 29: | ||
| * Evento | * Evento | ||
| * Mensaje: acción de efectuar una llamada a un método. | * Mensaje: acción de efectuar una llamada a un método. | ||
| + | |||
| + | ==== Encapsulamiento ==== | ||
| + | |||
| + | Consiste en asegurar que la información de un objeto se oculta del mundo exterior. | ||
| + | |||
| + | Al definir una clase, es importante proteger algunos métodos y propiedades para que no sean accesibles desde otras. Esto se consigue con los modificadores de acceso (// | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | Poner ejemplo | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Abstracción ==== | ||
| + | |||
| + | Implica que la clase debe representar las características de la entidad hacia el mundo exterior, pero ocultando la complejidad que llevan aparejada. O sea, nos abstrae de la complejidad que haya dentro dándonos una serie de atributos y comportamientos (propiedades y funciones) que podemos usar sin preocuparnos de qué pasa por dentro cuando lo hagamos. | ||
| + | |||
| + | La abstracción está muy relacionada con el encapsulamiento, | ||
| ==== Herencia ==== | ==== Herencia ==== | ||
| Línea 67: | Línea 88: | ||
| Las clases hijas **heredarán** las propiedades y métodos de la clase padre y evitaremos duplicar código. | Las clases hijas **heredarán** las propiedades y métodos de la clase padre y evitaremos duplicar código. | ||
| + | |||
| + | ==== Polimorfismo ==== | ||
| + | |||
| + | Capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento. | ||
| + | |||
| + | Si tenemos una clase **Persona** con el método '' | ||
| + | |||
| + | El poliformismo: | ||
| + | |||
| + | * Evita usar muchos '' | ||
| + | * Simplifica la programación | ||
| + | |||
| + | |||
| ===== Objetos ===== | ===== Objetos ===== | ||
| Línea 75: | Línea 109: | ||
| La programación orientada a objetos difiere de la programación estructurada tradicional en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada 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. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos. | La programación orientada a objetos difiere de la programación estructurada tradicional en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada 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. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos. | ||
| + | ===== Diagrama de clases ===== | ||
| + | |||
| + | Forma gráfica de representar las clases, con sus propiedades y métodos, y las relaciones entre ellas. | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | Completar con ejemplos y explicaciones | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Resumen de la Programación Orientada a Objetos ===== | ||
| + | |||
| + | * La POO permite **modelar entidades** para trabajar con ellas. | ||
| + | * Una **clase** es una plantilla. | ||
| + | * Un **objeto** o **instancia** es una implementación concreta de la clase. | ||
| + | * **Instanciar**: | ||
| + | * Pilares de la POO: | ||
| + | * Encapsulamiento | ||
| + | * Abstracción | ||
| + | * Herencia | ||
| + | * Polimorfismo | ||
| ===== Literatura recomendada ===== | ===== Literatura recomendada ===== | ||
| Línea 84: | Línea 138: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | |||
| + | ===== Recursos ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
informatica/programacion/programacion_orientada_a_objetos.1679474456.txt.gz · Última modificación: por tempwin
