POO y VBA

 POO- Programación Orientada a Objetos😁

Es un paradigma de programación, es decir, un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos. (Canelo, 2020)(s/p).


Conceptos básicos:
Desde el punto de vista de Francisco (2018) "Son varios elementos y conceptos fundamentales necesarios para comprender como utilizar los paradigmas de manera efectiva". (pag.5)
  • Clase: En POO, una clase es una plantilla o un modelo que define las propiedades y comportamientos comunes a un grupo de objetos. La clase actúa como un "molde" a partir del cual se crean instancias u objetos específicos. Define la estructura de los objetos, especificando los atributos (variables) y métodos (funciones) que estos objetos tendrán.
  • Objeto: Un objeto es una instancia concreta de una clase. Es una entidad que posee un estado (atributos) y puede realizar acciones (métodos). Cada objeto creado a partir de una clase tiene sus propias copias de los atributos definidos en la clase y puede ejecutar los métodos asociados a esa clase.
  • Atributos: Los atributos son variables que representan las características o propiedades de un objeto. En una clase, se definen los atributos que describen el estado de los objetos que se crearán a partir de esa clase. 
  • Métodos: Los métodos son funciones asociadas a una clase que representan las acciones que un objeto puede realizar. Estos métodos permiten interactuar con el estado interno de un objeto y modificarlo según sea necesario. 
  • Instancia: La instanciación es el proceso mediante el cual se crea un objeto a partir de una clase. Cuando se instancia una clase, se reserva memoria para ese objeto y se inicializan sus atributos con los valores predeterminados o proporcionados. Cada instancia u objeto creado a partir de una clase es independiente y puede tener sus propios valores para los atributos.

Lenguajes:
Según Surra (2023): "Existen muchos lenguajes de programación que soportan la programación orientada a objetos" (s/p). Algunos de los más posulares son:
  • Java: Lenguaje de alto nivel y multiplataforma, con una amplia base de usuarios.
  • Python: Lenguaje de alto nivel, dinámico y fácil de aprender.
  • C#: Lenguaje desarrollado por Microsoft para la plataforma .NET.
  • Ruby: Lenguaje interpretado y fácil de usar, con una comunidad activa.
  • C++: Lenguaje de programación de bajo nivel con un enfoque en la eficiencia y la velocidad.
  • Swift: Lenguaje de programación desarrollado por Apple, para crear aplicaciones para iOS y Mac OS.

Pilares:
De acuerdo con Corder (2022) "Los pilares de la programación orientada a objetos son principios fundamentales que guían el diseño y la implementación de sistemas utilizando este paradigma. Estos pilares proporcionan un marco conceptual para la organización y estructuración del código" (s/p). Entre ellos se encuentran:
  • Abstracción: La abstracción consiste en simplificar la complejidad de un sistema mediante la identificación de las partes esenciales y la omisión de los detalles no esenciales. En POO, los objetos actúan como abstracciones que modelan entidades del mundo real y sus interacciones.
  • Encapsulamiento: El encapsulamiento es la capacidad de decidir qué partes de una clase (atributos y métodos) quedarán expuestas hacia otras entidades y cuáles se mantendrán ocultas. Este pilar busca controlar la visibilidad y accesibilidad de los detalles internos de una clase.
  • Polimorfismo: El polimorfismo permite que un objeto tome muchas formas. En el contexto de la POO, se refiere a la capacidad de objetos de diferentes clases de responder a un mismo mensaje de manera única. Esto facilita la flexibilidad y la adaptabilidad del código. Este pilar apunta a cambiar el comportamiento de un objeto por sobrecarga o por sobrescritura de métodos.
  • Herencia: Es la capacidad de transferir características propias como atributos y métodos de un objeto a otro. Este pilar apunta a la reutilización del código existente.

Características:
Francisco (2018) (Pag.7) menciona que existen características importantes, entre las que se pueden destacar:
  • Adaptabilidad: La POO permite diseñar programas de forma modular, lo que facilita la adaptabilidad del código a cambios en los requisitos del software. Al organizar el código en objetos con propiedades y comportamientos bien definidos, es más sencillo modificar o extender funcionalidades sin afectar otras partes del programa.
  • Reusabilidad: Una de las ventajas principales de la POO es la reusabilidad del código. Al definir clases y objetos que encapsulan funcionalidades específicas, es posible reutilizar estas estructuras en diferentes partes del programa o en proyectos distintos. Esto reduce la duplicación de código y acelera el desarrollo de software.
  • Mantenibilidad: La POO promueve la facilidad de mantenimiento del software. Al organizar el código en objetos con interfaces claras y cohesivas, es más sencillo identificar y corregir errores, así como realizar actualizaciones o mejoras en el programa. El encapsulamiento y la modularidad también contribuyen a la mantenibilidad al aislar componentes y facilitar su modificación.
  • Instanciación: La instanciación es el proceso mediante el cual se crea un objeto a partir de una clase en la POO. Cada objeto instanciado tiene sus propias copias de los atributos definidos en la clase y puede ejecutar los métodos asociados a esa clase. La instanciación permite trabajar con múltiples objetos independientes que comparten la misma estructura y comportamiento definidos en la clase.

Aprende mucho mas aquí 🤓:



VBA- Visual Basic For Applications😄

Es un lenguaje de programación de Microsoft Office en programas como Excel. Se desarrollo en los años noventa para unificar los distintos lenguajes de Macros de cada uno de los programas. Permite automatizar los flujos de trabajo repetitivos y generar herramientas prácticas para la gestión de proyectos o la contabilidad. Facilita el intercambio de datos, tablas y diagramas entre los distintos programas de Microsoft 365. (Digital Guide Ionos, 2020)(s/p)


Componentes:
Francisco (2018) (Pag.3) menciona que existen componentes , entre las que se pueden destacar:
  • Proyecto: Un proyecto en VBA es un contenedor que puede contener varios módulos, formularios, hojas de cálculo, etc. Es la estructura principal que contiene todo el código y los recursos necesarios para ejecutar una aplicación VBA.
  • Módulo: Un módulo en VBA es un archivo que contiene código que se puede ejecutar en un proyecto. Los módulos pueden ser de dos tipos: módulos estándar o módulos de clase. En un módulo estándar se pueden definir procedimientos y funciones que pueden ser llamados desde otros lugares en el proyecto. Los módulos de clase contienen código asociado a un objeto específico.
  • Procedimiento: Un procedimiento en VBA es un bloque de código que realiza una tarea específica. Puede ser un subprocedimiento (Sub) o una función (Function). Un subprocedimiento no devuelve ningún valor y se utiliza para realizar acciones, mientras que una función devuelve un valor y se puede utilizar en expresiones.
  • Función: Una función en VBA es un tipo de procedimiento que devuelve un valor específico después de realizar ciertas operaciones. Las funciones son útiles cuando se necesita realizar cálculos o manipulaciones de datos y se desea obtener un resultado específico.
Controles:
"Los controles de formulario se usan cuando se desea hacer referencia e interactuar fácilmente con datos de celda sin usar código de VBA y cuando se quieren agregar controles a hojas de gráfico". (Microsoft)(s/f)(s/p)

Imagen del botón
Casilla de verificación:
Activa o desactiva un valor que representa una selección. Puede seleccionar más de una casilla en una hoja de cálculo o en un cuadro de grupo. Una casilla puede tener uno de tres estados: activada, desactivada y mixta, lo que significa una combinación de los estados activada y desactivada (como en una selección múltiple).

Imagen del botón
Cuadro combinado
Es posible combinar un cuadro de texto con un cuadro de lista para crear un cuadro de lista desplegable. Un cuadro combinado es más compacto que un cuadro de lista pero requiere que el usuario haga clic en la flecha abajo para mostrar una lista de elementos. Se utiliza para permitir que un usuario escriba una entrada o elija solamente un elemento de la lista. El control muestra el valor actual en el cuadro de texto, sin importar el modo en que dicho valor se haya proporcionado.

Imagen del botón
Botón de comando
Ejecuta una macro que realiza una acción cuando un usuario hace clic en él. Los botones de comando también se conocen como botones de inserción.

Marco
Un objeto rectangular con una etiqueta opcional que agrupa controles relacionados en una única unidad visual. Generalmente, se agrupan en un control de marco los botones de opción, las casillas de verificación o contenido estrechamente relacionado.


Imagen del botón
Barra de desplazamiento
Se desplaza por un intervalo de valores cuando el usuario hace clic en las flechas de desplazamiento o arrastra el cuadro de desplazamiento. Además, se puede mover por una página (en un intervalo preestablecido) de valores haciendo clic en el área entre el cuadro de desplazamiento y cualquiera de las flechas de desplazamiento. Generalmente, el usuario también puede escribir un valor de texto directamente en un cuadro de texto o una celda asociados.

Imagen del botón
Imagen
Inserta una imagen, como mapa de bits, JPEG o GIF.

Imagen del botón
Etiqueta
Identifica el propósito de una celda o un cuadro de texto, o muestra texto descriptivo (como títulos, leyendas, imágenes) o breves instrucciones.

Línea
Agrega un segmento de línea a un formulario.

Imagen del botón
Cuadro de lilsta
Muestra una lista de uno o más elementos de texto de entre los cuales puede elegir el usuario. Use un cuadro de lista para mostrar grandes cantidades de opciones que varían en número o contenido. Existen tres tipos de cuadros de lista:

  • Un cuadro de lista de selección única permite solamente una elección. En este caso, un cuadro de lista se asemeja a un grupo de botones de opción, a excepción de que un cuadro de lista puede controlar un gran número de elementos de manera más eficiente.
  • Un cuadro de lista de selección múltiple permite una elección o elecciones contiguas (adyacentes).
  • Un cuadro de lista de selección extendida permite una elección, elecciones y no contiguas, o inconexas.
Imagen del botón
Botón de opción
Permite una única elección dentro de un conjunto limitado de opciones que se excluyen mutuamente; generalmente está contenido en un marco o cuadro de grupo. Un botón de opción puede tener uno de tres estados: activado, desactivado y mixto, lo que significa una combinación de los estados activado y desactivado (como en una selección múltiple). Los botones de opción también se conocen como botones de radio.

Forma
Agrega un rectángulo, un cuadrado, una elipse o un círculo a un formulario, marco o cuadro de imagen.

Imagen del botón
Cuadro de texto
Permite ver, escribir o editar texto o datos enlazados a una celda en un cuadro rectangular. Un cuadro de texto también puede ser un campo de texto estático que presenta información de solo lectura.

Cronómetro
Ejecuta eventos periódicos a intérvalos de tiempo especificados.


Aprende mucho mas aquí 🤓:




Referencias bibliográficas:

Equipo editorial de IONOS. (2020, 29 octubre). ¿Qué es VBA? IONOS Digital Guide. https://www.ionos.mx/digitalguide/online-marketing/vender-en-internet/excel-vba/


Surra, B. (2023b, julio 20). Programación orientada a objetos: qué es y para qué sirve. MyTaskPanel Consulting. https://www.mytaskpanel.com/programacion-orientada-a-objetos/#:~:text=La%20programaci%C3%B3n%20orientada%20a%20objetos%20(POO)%20es%20un%20paradigma%20de,que%20act%C3%BAan%20sobre%20dichos%20datos.


Canelo, M. M. (2020, 5 septiembre). ¿Qué es la Programación Orientada a Objetos? Profile Software Services. https://profile.es/blog/que-es-la-programacion-orientada-a-objetos/


Diego.Coder. (2022, 23 enero). Fundamentos de la programación orientada a objetos (POO). Medium. https://medium.com/@diego.coder/fundamentos-de-la-programaci%C3%B3n-orientada-a-objetos-poo-5f8585346e92


Información general sobre formularios, controles de formulario y controles ActiveX en una hoja de cálculo - Soporte técnico de Microsoft. (s. f.). https://support.microsoft.com/es-es/office/informaci%C3%B3n-general-sobre-formularios-controles-de-formulario-y-controles-activex-en-una-hoja-de-c%C3%A1lculo-15ba7e28-8d7f-42ab-9470-ffb9ab94e7c2.


Comentarios

Entradas más populares de este blog

Semana Santa

Presentación personal