La programación orientada a objetos, conocida por sus siglas en inglés como OOP o POO, es definida como un paradigma de programación que pretende innovar la manera en la que se obtienen resultados.
Los objetos controlan y manipulan la información de entrada para conseguir datos específicos de salida, en los cuales cada uno de los objetos ofrece una función en especial.
La mayoría de los objetos que han sido diseñados previamente de los lenguajes de programación de la actualidad permiten ser agrupados en librerías y en bibliotecas. A pesar de esto, muchos de estos lenguajes tienen la capacidad de permitir que el usuario pueda crear sus propias bibliotecas.
La programación orientada a objetos se basa en algunas técnicas en las que se incluyen cohesión, abstracción, herencia, encapsulamiento, polimorfismo, y acoplamiento. Su uso se hizo popular a principios de los años 1990. Actualmente hay una enorme variedad de lenguajes de programación que trabajan con la orientación a objetos.
Indice
Introducción a la Programación Orientada a Objetos
Los objetos se definen como entidades que pueden combinar los atributos o estados, el método o comportamiento y la identidad.
El estado
Se compone de informaciones. Será uno o diferentes atributos a los que se le habrá asignado algún valor o dato en concreto.
La identidad
Esta es una propiedad de un objeto que lo hace diferente de los demás, esto quiere decir que es su identificación. Es un término análogo al del identificador de una constante o de una variable.
El comportamiento
Se define gracias a los métodos o procesos con los que se opera el objeto en cuestión. Se especifican los tipos de operaciones que pueden llevarse a cabo en el mismo.
Características de la Programación Orientada a Objetos
Encapsulamiento
Se agrupan cada uno de los elementos que se consideran son parte de una misma entidad y que están en el mismo nivel de abstracción. Esto posibilita el aumento de la cohesión de los componentes que forman parte del sistema.
Abstracción
Especifica las características principales de un objeto en el cual se capturan sus comportamientos. El procedimiento de abstracción posibilita tomar las características más importantes que forman parte de un conjunto e identificar los comportamientos repetitivos para definir tipos de entidades actuales en el mundo real.
Polimorfismo
Son comportamientos distintos que se asocian a diferentes objetos, pueden tener el mismo nombre y al ser llamados por este, se empleará el comportamiento que le corresponde al objeto que esté siendo usado.
Principio de ocultación
Todos los objetos se encuentran lejos de la parte exterior, es un módulo natural. Cada uno de estos objetos tiene una interfaz con otros que determina la manera en la cual interactúan con los objetos de la clase.
El aislamiento se encarga de proteger las propiedades de un objeto en contra de su modificación para que no se tenga la posibilidad de acceder a las mismas. Únicamente los mismos métodos internos del mencionado objeto son los que tienen la capacidad de acceder a su estado.
Recolección de basura
También conocida como garbage collector. Esta es la técnica a través de la cual el entorno de objetos tiene la responsabilidad de destruir de manera automática y de desvincular la memoria asociada de los objetos que se encuentran sin referencia a los mismos. Esto quiere decir que el programador no tiene la preocupación de liberar o asignar la memoria debido a que el entorno lo hará, creando un objeto nuevo y liberando a la misma cuando nadie lo esté utilizando.
Herencia
Las clases no se encuentran aisladas sino que están relacionadas una con la otra, creando una jerarquía de clasificación. Los objetos heredan el comportamiento y las propiedades de cada una de las cuales forman parte. La herencia se encarga de facilitar y organizar el encapsulamiento y el polimorfismo, posibilitando a los objetos su creación y definición como tipos especializados de objetos que ya existían previamente.