sábado, 6 de agosto de 2011

Programación Orientada a Objetos en PowerBuilder

El día de ayer recomendaron (En clases) un libro muy bueno que de verdad me gusto leer ya hace un buen tiempo atrás (Enero del 2009) Programación Orientada a Objetos de Luis Joyanes Aguilar, recordé entonces el primer libro que leí sobre Programación Orientada Objetos, Aprendiendo Programación Orientada A Objetos en 21 Lecciones (Octubre 2008), ambos me ayudaron mucho para entender sobre la Programación Orientada a Objetos.

Antes de leer estos libros solo tenia la idea de heredar es por eso que en el 2007 publico este post Herencia en PowerBuilder, pero faltaba Encapsulación y Polimorfismo, entonces no aplicaba POO en PowerBuilder siendo una herramienta Orientada a Objetos.

El punto de partida y que me cambio totalmente la idea sobre POO en PowerBuilder fue cuando di mantenimiento a una aplicación desarrollada con PFC, sinceramente fue muy complejo todo al comienzo, luego empece a entender y a manejar las PFC pero jamas me agrado, es así que en el 2008 publico este post PowerBuilder Foundation Class.

Trabajar con aplicaciones desarrolladas con PFC y el querer aplicar POO en PowerBuilder me lleva a buscar en la web sobre POO y es cuando me encuentro los libros ya mencionados anteriormente y también con documentación en ingles sobre POO en PowerBuilder aunque muy poca.

Bueno llego el momento de explicar lo que me faltaba aplicar o lo que se no sabia aplicar:

Encapsulación

La encapsulación es un proceso de ocultar el funcionamiento interno de un objeto.

PowerBuilder soporta la encapsulación de variables, eventos y funciones a nivel de objeto para las ventanas, menus y user object. Mediante el uso de variables instancia, eventos definidos por el usuario y funciones de nivel de objeto.
Polimorfismo

El polimorfismo permite que una operación se comporte de manera diferente, dependiendo del contexto en el que se llama a la operación.
PowerBuilder soporta Overloading y Overriding
  • Overloading: funciones con el mismo nombre en el mismo objeto.

  • Overriding: funciones descendientes suelen tener los mismos argumentos, pero el código dentro de la función es diferente.

No hay comentarios: