(16-02-2022, 16:07)tercoide escribió: (28-01-2022, 18:22)AlfredoSC escribió: He buscado en la web, las ventajas y desventajas de la POO, pero las explicaciones son tan ambiguas como la propia POO. No obstante saltan a la vista las desventajas, y la mas importante: Es mas lenta la ejecución de un proyecto o programa elaborado con POO.
Un POO es lineal tambien, solo que no se ve esa parte del codigo (en azul) porque esta dentro del runtime de Gambas. Son bucles infinitos que tienen mas o menos esta forma:
Private Quitiing as Boolean = False
Sub Form1_Loop()
Do ' Inicio del bucle infinito
' El sistema operativo nos avisa de un click
If SignalMouseDown then Trigger From.MouseDown ' nuestro codigo en Public Sub Form1_MouseDown()
' El sistema operativo nos avisa del cierre de una ventana
If SignalFrom1Close then Trigger From.Close ' nuestro codigo en Public Sub Form1_Close()
Loop Until Quitting = true
End
Public Sub Form1_MouseDown()
Debug "Aprete un boton del mouse"
End
Public Sub Form1_Close()
Quitting = True
End
Este código que citas no es POO, Es lo que hay debajo de lo que se llamaba "Programación Orientada a Eventos", en contraprosición a la "Programación Orientada a Procesos" primitiva. Apareció (al menos en mi experiencia) de la mano del W95 y fue una de las reconversiones que más me costó hacer. Yo ya no era quien controlaba el programa, como ocurría en MS-DOS y el viejo y querido Clipper5, ahora todo dependía de los "Eventos" disparados por el usuario ¡Oh My God!.
Aclarar que, tras pasar por el compilador, todo es "programación lineal", la famosa ristra de unos y de ceros que entienden las máquinas. La programación Lineal (con sus GOTOs, GOSUBs, etiquetas y números de línea), la Estructurada (con sus procedures y funciones) o la POO (con sus clases, objetos y herencias), son sólo maneras de "reorganizar al humano modo" esa lista de órdenes para que nos sea más fácil a los pobres humanitos de a pie aplicar a la ristra aquello de "divide y vencerás".
Saludos