La Programación Orientada a
Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación
que usa objetos y sus interacciones para diseñar aplicaciones y programas de
computadora. Está basado en varias técnicas, incluyendo herencia, modularidad,
polimorfismo, y encapsulamiento. Su uso se popularizó a principios de la década
de 1990. Actualmente son muchos los lenguajes de programación que soportan la
orientación a objetos. Actualmente una de las áreas más candentes en la
industria y en el ámbito académico es la orientación a objetos. La orientación
a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y
mantenimiento del software ofreciendo una solución a largo plazo a los problemas
y preocupaciones que han existido desde el comienzo en el desarrollo de
software: la falta de portabilidad del código y reusabilidad, código que es
difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no
intuitivas.
Objetos:
- Herencia múltiple: suele ser común a la mayoría de los lenguajes OOP, aunque introduce un problema al existir la posibilidad de que el objeto sucesor herede el mismo atributo, aunque con distinto tipo y valor, de más de un predecesor.
- Eficiencia: Los lenguajes de POO arrastraron en un principio la reputación de ser ineficaces. Esto se debía en gran medida a que los primeros lenguajes (como Smalltalk) eran interpretados y no compilados. La existencia de compiladores permite a los desarrolladores ganar rapidez.
- Asignación de tipos: Los lenguajes orientados a objetos varían de forma sustancial la forma por la que se aproximan a la asignación de tipos. • Por asignación de tipos entendemos que cada variable sea identificada como perteneciente a una clase (asignación fuerte) o sea simplemente un objeto indeterminado (asignación débil).
- Manejo de memoria: La POO son lenguajes que utilizan de manera intensiva la memoria de la computadora. Hay dos tipos de aproximación a la gestión de memoria. El sistema en tiempo de ejecución libera la memoria automáticamente a medida que los objetos dejan de utilizarse.
- Encapsulamiento: consiste en separar aquellos atributos del objeto que deben ser conocidos por el resto, de aquellos necesarios para su funcionamiento propio.
- Polimorfismo: Comportamientos diferentes, asociados a objetos de distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.
Ventajas
y desventajas de programación orientada a objetos
Ventajas:
- Uniformidad: ya que la representación de los objetos lleva a implicar tanto el análisis como el diseño y la codificación de los mismos.
- Comprensión: tanto los datos que componen los objetos, como los procedimientos que los manipulan, están agrupados en clases, que corresponden con las estructuras de información que el programa trata.
- Flexibilidad: al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedara reflejado automáticamente en cualquier lugar donde estos datos aparezcan.
- Estabilidad: dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo.
Desventajas:
No hay comentarios:
Publicar un comentario