programacion-agrupaciones

Qué son los tipos agrupación

Las agrupaciones de elementos son estructuras de datos que permiten combinar y organizar variables relacionadas entre sí, en una única variable.

Estas agrupaciones las definimos nosotros y pueden contener diferentes tipos de variables, como números, cadenas de texto. Incluso pueden contener otras agrupaciones.

Por ejemplo, imagina que tienes que guardar los datos de una persona. Estos datos son, por ejemplo:

  • Nombre
  • Fecha de nacimiento
  • Email

Por ejemplo, podríamos emplear variables independientes para guardar los datos de la persona

string nombre;
DateTime fechaNacimiento;
string email;

Pero, imagina que tenemos que trabajar con más de una persona… ¿Qué vamos a hacer? ¿usar nombre1, nombre2…?

// ¡esto no sería nada práctico!
string nombre1;
string nombre2;
string nombre3;

DateTime fechaNacimiento1;
DateTime fechaNacimiento2;
DateTime fechaNacimiento3;
// etc...

No resultaría muy práctico, ni cómodo de usar. Además de que sería una posible fuente de errores, ya que podríamos mezclar unos con otros por error fácilmente.

En su lugar, es mucho mejor crear una agrupación de variables. Por ejemplo,

curso-programacion-struct

Persona
{
    string nombre;
    DateTime fechaNacimiento;
    string email;
}

Ahora, podemos crear una nueva Persona, y acceder a sus propiedades mediante el operador ..

Persona persona1;
persona1.nombre = "Juan Pérez";
persona1.fechaNacimiento = new DateTime(1990, 5, 15);
persona1.email = "juan@example.com";

Si tuviéramos que trabajar con más de una persona, simplemente tendríamos que crear persona2, persona3

Persona persona1;
Persona persona2;
Persona persona3;

Esto tiene la ventaja de que los datos de cada persona van en un “pack” agrupados. Lo cuál, además de más cómodo de usar, es mucho más difícil que por error mezcles datos de unos y otros sin querer.

Tipos comunes de agrupaciones

Existen varios tipos de agrupaciones usados en programación, cada uno con sus propias características y usos. Los más comunes son los siguientes: