POO: Hacer con más, lo que se puede hacer con menos... - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: POO: Hacer con más, lo que se puede hacer con menos... (/thread-821.html) Páginas:
1
2
|
POO: Hacer con más, lo que se puede hacer con menos... - AlfredoSC - 28-01-2022 Hola todos: Acostumbrado desde hace muchos años a la programación lineal, me veo "obligado" [aunque con cierta curiosidad], a desentrañar el por qué la POO es mas "conveniente". 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. Será cierto? De todos modos, me gustaría mirar un diagrama de Clases, Constructores, métodos y propiedades en donde se observe que "hay ganancia" en la Programación Orientada a Objetos.... Saludos.. RE: POO: Hacer con más, lo que se puede hacer con menos... - Shordi - 28-01-2022 En gambas estás usando POO en el momento en que utilizas cualquier control y casi cualquier componente. La inmensa ventaja es la reutilización y modificación del código que ya está hecho... sin siquiera llegar a verlo. Respecto a las velocidades alegadas y demás, pues no tengo claro si eso es así "en condiciones de laboratorio" pero en "la vida real" y hablando de aplicaciones gráficas no creo que puedas apreciar diferencias de ningún tipo. Cuesta hacer el cambio de chip, al menos a mí me costó, pero una vez lo asimilas estás encantado con ella. Como muestra un botón: Ayer necesité un control que se comportase como un FileChooser pero que permitiese mostrar o dejar de mostrar el árbol de directorios a voluntad del usuario y sin perder las "cositas" que lleva FileChooser (menús contextuales, breadcrumbs, etc.). Una pequeña investigación en la clase y su estructura y en diez minutos lo tenía desarrollado y mi Gambas exendido en un control nuevo que heredando de FileChooser y con una propiedad añadida para ese comportamiento, en un derroche de imaginación y creatividad llamé ChooserFiles. Eso con funciones me habría costado semanas. Adjunto el ejemplo de la imagen. Saludos RE: POO: Hacer con más, lo que se puede hacer con menos... - Shordi - 29-01-2022 Se me olvidó añadir el código para el que no desee descargar el ejemplo: Código: ' Gambas class file Saludos RE: POO: Hacer con más, lo que se puede hacer con menos... - jsbsan - 29-01-2022 AlfredoSC: Cita:me gustaría mirar un diagrama de Clases, Constructores, métodos y propiedades en donde se observe que "hay ganancia" en la Programación Orientada a Objetos.... El otro dia, hice un ejemplo de un programa que hace lo mismo usando el paradigma procedimental y el POO: Para ver "ganancia", puedes ver por ejemplo lo simple que es realizar "hacer y deshacer" . Tambien en mi curso online gratuito de gambas3, puedes ver un montón de ejemplos de programación orientada a objetos y patrones de diseño: POO: PATRONES DE DISEÑO 1 Patrón Strategy: Ejemplo Simulador de Patos
2 Patrón Observer: Ejemplo Estación Meteorológica 3 Patrón Abstract Factory: Ejemplo Fábrica de Vehículos 4 Patrón Template Method : Ejemplo valoracion de un jugador de futbol 5 Patrón Decorador: Ejemplo Cafés y Condimentos 6 Patrón Chain Of Responsability (Cadena de Responsabilidad) 7 Patrón Command: Implementar Deshacer y Rehacer Ordenes 8 Patrón Composite: Ejemplo: Cálculo de Gasto en Sueldos Mensuales 9 El patrón visitor. Ejemplo de Cliente y Operador 10 Patrón Mediator: Ejemplos de Chat y Conferencia 11 Patrón Facade: Ejemplo de inmobiliaria 12 Patrón Builder. Ejemplo: Creando Coches de Marca 13 Patrón State: Ejemplos: 1) conexion y desconexión 2) Ventanilla del Banco 14 Patrón Proxy: Ejemplo: Realizar un control de acceso a recursos y/o partes del programa 15 Patrón Bridge: Ejemplo Dibujando punteado y normal. 16 Patrón Delegation. Ejemplo: Empleado de tienda. 17 Patrón Adaptador: Ejemplo: tipos de motor 18 Patrón Memento: Ejemplo: Marcador de Futbol 19 Patrón Iterador. Ejemplo: Recorrer una lista de diversas formas 20 Patrón Singleton: Ejemplo Creación de un log 21 Patrón Interprete: Ejemplo Evaluador de Expresiones Notación Polaca Inversa 22 Patrón Prototype: Ejemplo de televisiones. 22 Patrón Flyweight. Ejemplo Formatos de tipo de letra y tamaño 23 Patrón: Modelo Vista Controlador Saludos Julio RE: POO: Hacer con más, lo que se puede hacer con menos... - guizans - 30-01-2022 Hola. Ya que hablamos de POO me surge una duda. Pongamos que creo la clase B que hereda de la clase A. En la clase B hago un constructor, pero en la clase A tiene también un constructor, que pongamos recibe parámetros. ¿Como hago para llamar al constructor de la clase A desde la clase B? Gracias. RE: POO: Hacer con más, lo que se puede hacer con menos... - Shordi - 31-01-2022 Eso no tiene sentido. Un objeto hereda al otro, es decir "es" el otro con modificaciones. El constructor de B debe establecer sus propios parámetros. RE: POO: Hacer con más, lo que se puede hacer con menos... - jguardon - 31-01-2022 Se puede acceder a las propiedades y métodos específicos del ancestro usando la palabra Super. Pero es verdad que acceder al constructor del padre, no tiene mucho sentido, puesto que al crear el objeto heredado estás llamando al constructor del objeto hijo que ya es parte del padre, no se si me explico bien. Saludos RE: POO: Hacer con más, lo que se puede hacer con menos... - guizans - 02-02-2022 Hola. Si, se que lo he escrito no tiene sentido. Estaba pensando en lo que hace Python con, por ejemplo, con Gtk3. Código: import gi Como se puede ver, la clase LabelWindow hereda de Gtk.Window y en el constructor se ve como llama al constructor de la clase padre. Se que Python no es Gambas y hace las cosas de otra manera, y por eso mi comentario, me he confundido de lenguaje Un saludo. RE: POO: Hacer con más, lo que se puede hacer con menos... - Shordi - 03-02-2022 El tema es que al "construir" la clase hijo ya se ha "construido" la clase padre previamente. Por eso no tiene sentido "reconstruir" la clase padre. Aquí lo correcto es establecer la propiedad que se desea en la propia clase hijo y dar los valores y comportamientos que se deseen en él. Saludos. RE: POO: Hacer con más, lo que se puede hacer con menos... - guizans - 04-02-2022 Hola. Tienes razón Shordi, lo veo claro, y parece coherente añadir propiedades para por ejemplo en el caso de querer añadir un texto a la etiqueta. Pero también es verdad es si en Python se hace así algún motivo habrá, se me escapa el por qué. Saludos. |