POO

La programación orientada a objetos, abreviada POO, es un paradigma de programación que usa objetos para representar los datos (atributos en POO) y procedimientos (métodos en POO) de un programa. Se trata de un paradigma que tiene como objetivo permitir el diseño de sistemas de software modulares y reutilizables. El paradigma orientado a objetos está basado en conceptos como la programación estructurada y los tipos abstractos de datos. Un objeto es un tipo abstracto de dato que tiene como agregados el polimorfismo y la herencia. En la programación estructura se hace una separación entre código y datos, cuando en el programación orientada a objetos ambos conceptos se unen para forma un objeto, el cual tiene un estado (atributos) y un comportamiento (métodos).
Algunas de las ventajas que ofrece la programación orientada a objetos son:
    * Permite definir el programa de una manera más natural con el uso de objetos que describen el problema.
*Facilitar el mantenimiento del software al hacer programas más claros.
*Facilitar la evolución, extensión o mejoramiento del software por su modularidad.
*Fomenta la reutilización del código al programarse en módulos que pueden ser usados por otros programas.
*Ahorra tiempo de desarrollo al permitir desarrollar en paralelo módulos
independientes del software.
Los conceptos en los que se basa este paradigma se empezaron a desarrollar desde la década de 1950, pero fue hasta la década de 1960 cuando el concepto de objeto en programación tomó forma. Simula 67, un lenguaje de programación desarrollado en el Centro de Cómputo Noruego en Oslo, fue el primer lenguaje de programación en aplicar el concepto de objeto. Smalltalk fue desarrollado durante la década de 1970 por Xerox PARC y fue el primero en introducir el término Programación Orientada a Objetos para representar el uso de objetos y mensajes en un programa de computadora. Después de Smalltalk, muchos lenguajes existentes adoptaron la POO como paradigma de programación y se crearon otros lenguajes partiendo de la POO.
Ejemplos de lenguajes que usan la POO son:
 *C++
*Objective
*Smalltalk
*Java
*C#
*Perl
*Python
*Ruby
*PHP
Algunos conceptos relacionados a la programación orientada a objetos son:
Clase
-Definición de los atributos y el comportamiento de un tipo de objeto.
Instancia
-Se trata de la creación de un objeto a partir de las reglas definidas en la clase.
Atributos
-Son las características del objeto (datos) que se definen en la clase.
Métodos
-Son subrutinas asociadas a un objeto y que se definen en la clase para describir el comportamiento del objeto.
Abstracción
-Es la definición de un objeto en base a sus características esenciales
(atributos y comportamiento). La abstracción es una de las características más importantes en el diseño orientado a objetos, pues permite modelar un problema en base a un conjunto de clases.

Modularidad
-Al crear clases, el software se separa naturalmente en módulos, que
pueden ser utilizados como parte de varios programas.
Mensajes
-Es la comunicación hacia un objeto que le indica que ejecute un método con los parámetros indicados en el mensaje. Las características básicas que un lenguaje de programación debe tener para entrar en el paradigma orientado a objetos son: encapsulamiento, herencia y polimorfismo.

No hay comentarios:

Publicar un comentario