Classes en Dart
Tags: dart, codenewbie
Published: 2019-10-16 17:12:52

Hola! Hemos estado aprendiendo sobre Dart por algunas semanas, si has seguido esta serie espero que hayas aprendido un montón. En este post vamos a hablar sobre cómo funcionan las Clases en Dart, las cuales son uno de los fundamentos básicos de la programación.

## 📘 Qué es una Clase

Una clase es un plano de un objeto. Dentro de la clase podemos encontrar las propiedades del objeto sus constructores y sus funciones. Ya hemos hablado de funciones en Dart así que no tocaremos ese tema en esta oportunidad.

### Properties

Las propiedades de una clase son variables declaradas al interno de una clase. Por ejemplo, si tenemos una clase Car (Carro), el color del carro puede ser una variable String con el valor Blue (Azul).

### Constructors

Los constructores nos ayudan a inicializar los valores de nuestros objetos. Cuando creamos una clase y pasamos como variable algún parámetro, estamos usando un constructor.

## 🤔 Cómo crear una clase en Dart

Para crear una Clase en Dart, necesitamos usar la palabra reservada Class y luego indicar el nombre de la clase. Por ejemplo:

    class Dog {
    
    }

Con esto podemos crear cualquier Dog(Perro) que queramos. Pero hay más, nuestro perro necesita un nombre, así que vamos a crear una variable que le asigne ese nombre.

    class Dog {
      String name = "Rocky";
    }

¡Genial! Ahora cada vez que creemos un nuevo Dog, va a tener Rocky como su nombre. Ahora necesitamos agregar la habilidad de ladrar a nuestro perro. Para eso, necesitamos crear una función. 

    class Dog {
      String name = "Rocky";
    
      void bark(){
        print("Woof Woof! 🐶");
      }
    }

Ya hemos creado nuestro plano para un perro llamado Rocky el cual puede ladrar. Todo lo que necesitamos hacer es crear un objeto a partir de este plano, para ello hay que utilizar el constructor.

    var MyDoggo = Dog();

En el ejemplo anterior se muestra cómo podemos crear un objeto Dog utilizando un constructor por defecto. Pero, ¿qué pasaría si necesitaramos crear otro perro con otro nombre? No todos los perros se llaman Rocky.

## 🐶 Creando perros únicos con constructores

Para asignar el nombre de nuestros perros necesitamos crear un constructor dentro de una clase, este constructor nos ayudará a inicializar nuestros objetos perros con su respectivo nombre.

    class Dog {
      String name = "Rocky";
    
      Dog(this.name)
    
      void bark(){
        print("Woof Woof! 🐶");
      }
    }

Ahora podemos crear otros perros de la siguiente forma.

    var doggo = Dog("Sparky");
    doggo.bark();

Existen otros tipos de constructores. Vamos a hablar de ellos en el siguiente post de CodingSlices Extended. Recuerda darle al follow para que no te pierdas los ultimos post.

## 🐕 Para terminar, dejo aquí este perrito.

![](https://media.giphy.com/media/2vmgb8ZGaeBsuSeo5I/giphy.gif)

## Eso es todo

Espero que te haya gustado. Estoy creando nuevas CodingSlices sobre Flutter en Instagram, puedes seguirme en [**@codingpizza](https://www.instagram.com/codingpizza/)** y en Twitter como [**@coding__pizza**](https://twitter.com/coding__pizza) para aprender sobre **Flutter**.

## Ahora es tu turno

Puedes probar estos conceptos en Entornos de desarrollo (IDE) como [Intellij Idea Communit](https://www.jetbrains.com/idea/download/)y, que es gratis e instalar el plugin de Dart, si te gusta Visual Studio Code tambien puedes probar estos conceptos en él y por último, si prefieres algo online puedes utilizar [**Dartpad](https://dartpad.dartlang.org/).**

## ¿Quieres saber más sobre Dart?

Si te ha gustado este post y estás interesado en aprender Dart, actualmente estoy escribiendo más artículos como este en un ebook, el cual es un curso básico de Dart que te ayudará a tener un buen conocimiento que luego podrás utilizar para empezar con Flutter ;). Puedes darte de alta [**en este link](https://www.codingpizza.com/curso-dart-gratis/)** ya que el ebook será **totalmente gratis.**