¿Qué es el paradigma de programación orientado a objetos?
El paradigma orientado a
objetos define los programas en términos de comunidades de objetos. Los objetos
con características comunes se agrupan en clases. Los objetos son entidades que
combinan un estado (es decir, datos) y un comportamiento (esto es,
procedimientos o métodos). Estos objetos se comunican entre ellos para realizar
tareas. Es en este modo de ver un programa donde este paradigma difiere del
paradigma imperativo o estructurado, en los que los datos y los métodos están
separados y sin relación. El paradigma OO surge para solventar los problemas
que planteaban otros paradigmas, como el imperativo, con el objeto de elaborar
programas y módulos más fáciles de escribir, mantener y reutilizar.
Herencia: Es la facilidad mediante la cual la clase “D”
hereda en ella cada uno de los atributos y operaciones de “C”, como si esos
atributos y operaciones hubiesen sido definidos por la misma “D”. Por lo tanto,
puede usar los mismos métodos y variables públicas declaradas en “C”. Los
componentes registrados como "privados" (private) también se heredan,
pero como no pertenecen a la clase, se mantienen escondidos al programador y
sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para
mantener hegemónico el ideal de OOP.
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. Los procesos, las funciones o los
métodos pueden también ser abstraídos y cuando lo están, una variedad de
técnicas son requeridas para ampliar una abstracción.
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse
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.
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 de objetos 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. Cuando esto ocurre en
"tiempo de ejecución", esta última característica se llama asignación
tardía o asignación dinámica. Algunos lenguajes proporcionan medios más
estáticos (en "tiempo de compilación") de polimorfismo, tales como
las plantillas y la sobrecarga de operadores de C++.
Estoy de acuerdo contigo con lo que dices que los paradigma orientado a objetos definen programas como comunidades de objetos , tienes razón en que puede elaborar programas y módulos más fáciles de escribir, mantener y reutilizar. También el paradigma es una forma de entender y representar la realidad.
ResponderEliminarAqui en este link tambien habla acerca de POO .
http://aprendeenlinea.udea.edu.co/lms/men_udea/mod/page/view.php?id=19537