Saltar al contenido

Clases en Flutter: creación y manejo

noviembre 20, 2020

Cuando programamos en Flutter con frecuencia necesitaremos definir un tipo o clase de datos, objetos complejos que encajen con nuestro proyecto y que nos permitan asegurar la información. Este concepto de «clases» se maneja en prácticamente todos los lenguajes orientados a objetos y es necesario aprenderla para crecer en nuestro desarrollo.

Pero, entes de empezar a usarlas, tenemos que saber claramente qué es una clase. Podríamos empezar a escribir código, pero no serviría de mucho si no entendemos qué son y para qué sirven. El sitio se llama Código Correcto por una razón. Hacer las cosas bien.

¿Qué es una clase en programación?

Este termino es usado en los lenguajes de programación que son orientados a objetos. Una clase es algo así como un molde de galletas, el molde es la clase y con él puedes hacer muchas galletas que tengan dicha forma. Podemos hacer una clase por ejemplo que se llame «Empresa».

class Empresa {
  
}

Como pueden ver, para declarar una clase tenemos que estar fuera de cualquier widget. Ya que un widget es prácticamente una clase de Dart y no podemos poner una clase dentro de otra. Luego tenemos que usar la palabra reservada class, luego el nombre de la clase con la primera letra mayúscula, y luego abrir y cerrar llaves (corchetes curvos).

Ahora vamos a comenzar a agregar propiedades a la clase. Una propiedad es algo así como una variable interna. Es información que hace que una Empresa sea una Empresa. En este ejemplo lo haremos de forma simple y solo le datemos 3 propiedades, pero una clase puede tener cientos de propiedades y métodos.

Los métodos son funciones internas de la clase. Normalmente son usados para cambiar los valores de las propiedades o para realizar cálculos específicos de valores que no queremos que sean accesibles desde otro lugar.

class Empresa {
  String nombre;
  String propietario;
  int ingresoAnual;
  
}

Nuestra Empresa tendrá 3 propiedades, nombre, propietario, ingresoAnual. Cada una de estas propiedades tiene su tipo de datos y es el tipo de datos que debemos ingresar en ellas. Las empresas que creemos van a tener esas propiedades.

Podría interesarte:  Crea tu primer sitio WEB con Flutter

Podría interesarte: Curso Gratis de Flutter

Pero para poder asignarlas necesitamos un método constructor que solicite la información al mismo momento de la instansiación. Así que creamos el método constructor que debe tener exactamente el mismo nombre que la clase a la cual pertenece. Luego entre paréntesis solicitar las variables que contendrán los valores para luego asignarlos.

class Empresa {
  String nombre;
  String propietario;
  int ingresoAnual;

  Empresa(String nombre, String propietario, int ingreso) {
    this.nombre = nombre;
    this.propietario = propietario;
    this.ingresoAnual = ingreso;
  }
}

Cuando decimos this.nombre nos estamos refiriendo a la propiedad nombre de la clase. Pero cuando decimos solo nombre, nos estamos refiriendo a la variable nombre dentro del método. Muy bien, con esto ya tenemos nuestra clase terminada y podemos comenzar a usarla.

Para usarla simplemente creamos una variable que sea del tipo de nuestra clase y llamamos al método constructor mandando los valores. Estos valores deben ir en el orden en que se llaman en el constructor. Podemos también solicitar valores con nombre, pero eso no lo veremos en este artículo. Quedaría algo así:

  Empresa _facebook = new Empresa("Facebook", "Mark Zuckerberg", 50000000);

  Empresa _google = new Empresa("Google", "Larry Page", 80000000);

Como puedes ver creamos 2 empresas, _facebook y _google. Ambos tienen las mismas propiedades, pero las propiedades tienen diferentes valores. Como mencioné al principio, la clase es el molde (Empresa) y las instancias son las galletas (_facebook, _google).

Podría interesarte:  Flutter: 4 herramientas indispensables

A partir de ahora podemos hacer llamados a los valores de los cada una de las empresas. Para acceder a estos valores tenemos que poner el nombre de la instancia, agregar un punto y llamar a la propiedad. Por ejemplo, para acceder al propietario de Facebook pondríamos: _facebook.propietario

Bueno esto es suficiente para entender el funcionamiento de las clases, cuando manejamos datos en Flutter, es recomendable hacer una clase por cada tipo de objetos que vayamos a usar. Esto es una buena práctica que facilita mucho la programación cuando se va volviendo más compleja.

Espero que les haya gustado este artículo, pero especialmente espero que les haya servido, recuerden que si tienen alguna duda puedes dejarlo en los comentarios y con gusto contestaré. Un abrazo y hasta la próxima.