¿Qué es el paradigma de programación orientado a objetos?


Los lenguajes de programación proporcionan mecanismos para implementar una filosofía o paradigma de programación. Un paradigma es una forma de entender y representar la realidad: un conjunto de teorías, estándares y métodos que, juntos, representan un modo de organizar el pensamiento, es decir, un modo de ver el mundo. Cada nuevo paradigma responde a una necesidad real de nuevas formas de afrontar problemas. A menudo un nuevo paradigma es creado como respuesta a las deficiencias de paradigmas anteriores.

Un paradigma de programación es una forma de conceptualizar en qué consiste la ejecución de un programa y cómo deben de estructurarse y organizarse las tareas que se llevaran a cabo en esa ejecución. A continuación, describimos dos de los principales paradigmas.
Paradigma imperativo

La programación imperativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican a la computadora cómo realizar una tarea. Las recetas, por ejemplo, son conceptos familiares similares en estilo a la programación imperativa; cada paso es una instrucción, y el mundo físico (la computadora en el caso de la programación) guarda el estado.
Paradigma Orientado a Objetos

El paradigma orientado a objetos (OO) define los programas en términos de comunidades de objetos. Los objetos con características comunes se agrupan en clases (un concepto similar al de tipo abstracto de dato (TAD)). 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. Entre los lenguajes que soportan el paradigma OO están Smalltalk, C++, Delphi (Object Pascal), Java y C#.

2.1 Herencia

La herencia es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclase) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados.

Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente.
2.2 Polimorfismo
En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.
En algunos lenguajes, el término polimorfismo es también conocido como ‘Sobrecarga de parámetros’ ya que las características de los objetos permiten aceptar distintos parámetros para un mismo método (diferentes implementaciones) generalmente con comportamientos distintos e independientes para cada una de ellas.
2.3 Abstracción
Las características específicas de un objeto, aquellas que lo distinguen de los demás tipos de objetos y que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción del objeto.
Una abstracción se enfoca en la visión externa de un objeto, separa el comportamiento específico de un objeto, a esta división que realiza se le conoce como la barrera de abstracción, la cual se consigue aplicando el principio de mínimo compromiso.
2.4 Encapsulamiento
Es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstracción y su implantación.

Resultado de imagen para ¿qué es la encapsulamiento en programación orientada a objetos 
 
Encapsulamiento en la programación orientada a objetos – Styde.nethttps://styde.net/encapsulamiento-en-la-programacion-orientada-a-objetos/
¿Qué es la abstracción en la programación orientada a objetos ...https://styde.net/abstraccion-programacion-orientada-a-objetos/
polimorfismo (P.O.O) | programacion orientada a objetoshttps://damian02.wordpress.com/polimorfismo-poo/
POO - Herencia - CCMhttps://es.ccm.net › Enciclopedia › Programación › Programación Orientada a Objetos
POO: El paradigma Orientado a Objetosaprendeenlinea.udea.edu.co/lms/men_udea/mod/page/view.php?id=19537

Comentarios

Entradas populares de este blog

Los 3 amigos (Grady Booch, James Rambaugh e Ivar Jacobson).

Cuadro comparativo de los modelos y metodologías de desarrollo de software

Nationalsoft