martes, 14 de noviembre de 2006

Paradigma Orientado a Objetos

La programación orientada a objetos es un paradigma enfocado principalmente a la reutilización del código y a facilitar su mantenimiento. Esto se consigue mediante mecanismos de abstracción, como herencia y polimorfismo, y encapsulación.

Abstracción:
La abstracción es el método mediante el que se aproxima una entidad real enfatizando características y comportamientos relevantes para el sistema e ignorando otros triviales, facilitando la modificación, construcción y comprensión de las entidades participantes.

Encapsulación:
Incluye los conceptos de agrupación y ocultamiento.
La agrupacion reúne toda la información relativa al comportamiento y estructura de cada entidad. Esta independencia facilita la tarea de mantenimiento del sistema, permitiendo la modificación de cada módulo de forma independiente.
La ocultación esconde los detalles de implementación exponiendo únicamente un interfaz que especifica las posibles interacciones con las instancias de ese entidad. Proporciona capacidad de modificar la implementación de cada módulo, independientemente de las relaciones con otros, sin cambiar el comportamiento del sistema.
Estas propiedades restringen la posibilidad de efectos secundarios, la propagación de cambios, facilitando el mantenimiento y proporcionan un método seguro para la reutilización de los módulos en otros sitemas.

Herencia:
Un sistema orientado a objetos se compone de multitud de instancias de entidades colaborando entre sí. Esta colaboración se define mediante las relaciones como asociación, agregación o herencia.
La herencia es la relación entre entidades en que la entidad especializada se apropia de la estructura y comportamiento de la entidad base. El comportamiento heredado puede modificarse de modo que se adecúe a las características de la nueva entidad. Un posible uso de la herencia es la especialización, donde la entidad especializada añade comportamientos nuevos a los de la entidad base. Otro posible uso es la sustitución de comportamientos, que oculta el un aspecto del comportamiento de la clase base en favor del de la especializada.
La herencia es otra forma de abstracción que fomenta la reutilización de codigo.

Polimorfismo:
Cuando varias entidades representan su propio comportamiento con el mismo símbolo, un mismo mensaje puede aplicarse a cualquiera de esas entidades (habitualmente relacionadas mediante herencia), obteniendo así diferentes comportamientos.
El polimorfismo está estrechamente relacionado con la ligadura dinámica y está enfocado a la reutilización de código.

No hay comentarios: