Desarrollo De Software
Programación orientada a objetos
La programación orientada a objetos, es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.
Los objetos son entidades que tienen un determinadoestado, comportamiento (método) e identidad:
* El estado está compuesto de datos o informaciones, será uno o varios atributos a los que se habrán asignado unos valores concretos.
* El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
* La identidad es una propiedad de un objeto que lodiferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
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 desalida.
Los programadores que emplean programación orientada a objetos, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
Características de la Programación Orientada a Objetos
Existe un acuerdo acerca de qué características contempla la "orientación a objetos", las características siguientes son las más importantes:
*Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. El proceso de abstracción permite seleccionar las característicasrelevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.
* Encapsulamiento: Significa reunir a todos los elementos que puedenconsiderarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
* Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadasmódulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
* Principio de ocultación: El aislamiento protege a 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 su estado. Esto asegura que otros objetos no puedencambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas.
* Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones deobjetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.
* 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...
Regístrate para leer el documento completo.