Clases en Dart
¡Bienvenidos a otro emocionante capítulo en nuestro viaje de aprendizaje de Dart y Flutter! En esta ocasión, exploraremos uno de los conceptos fundamentales en Dart: las clases. Las clases son la base de la programación orientada a objetos (POO) y te permiten modelar y organizar tu código de manera efectiva. En este artículo, vamos a sumergirnos en el mundo de las clases, los constructores, las propiedades y los métodos en Dart de una manera fácil de entender, ¡así que prepárate para una experiencia de aprendizaje emocionante!
¿Qué es una Clase en Dart?
Una clase es como un plano o una plantilla que define la estructura y el comportamiento de un objeto. Piensa en una clase como un conjunto de instrucciones que describen cómo debe funcionar un objeto específico. Por ejemplo, si quisiéramos modelar un gato en nuestro programa, crearíamos una clase llamada Gato
que definiría todas las características y comportamientos que esperaríamos de un gato en el mundo real.
Declarando una Clase
En Dart, puedes declarar una clase utilizando la palabra clave class
, seguida del nombre de la clase. Aquí hay un ejemplo sencillo:
class Gato {
// Propiedades
String nombre;
int edad;
// Constructor
Gato(this.nombre, this.edad);
// Método
void maullar() {
print('$nombre está maullando.');
}
}
En este ejemplo, hemos creado una clase llamada Gato
con dos propiedades (nombre
y edad
), un constructor y un método llamado maullar
.
Constructores en Dart
Un constructor es un método especial que se utiliza para crear instancias de una clase. En el ejemplo anterior, hemos definido un constructor que acepta dos parámetros (nombre
y edad
) y los utiliza para inicializar las propiedades del gato. Puedes crear una instancia de la clase Gato
de la siguiente manera:
void main() {
// Crear una instancia de la clase Gato
var miGato = Gato('Whiskers', 3);
// Acceder a las propiedades
print('Mi gato s llama ${miGato.nombre} y tiene ${miGato.edad} años.');
// Llamar al método
miGato.maullar();
}
Propiedades en Dart
Las propiedades son variables que pertenecen a una clase y almacenan información sobre los objetos de esa clase. En el ejemplo anterior, nombre
y edad
son propiedades de la clase Gato
. Puedes acceder a estas propiedades utilizando la notación de punto, como se muestra en el código de ejemplo.
Métodos en Dart
Los métodos son funciones que están asociadas a una clase y definen el comportamiento de los objetos de esa clase. En el ejemplo, maullar
es un método de la clase Gato
. Llamar a este método hace que el gato emita un maullido. Puedes invocar métodos en una instancia de la clase utilizando la notación de punto, como se muestra en el ejemplo.
Conclusión
En resumen, las clases son fundamentales en Dart y Flutter, ya que te permiten modelar tus objetos y organizar tu código de manera más eficiente. Hemos aprendido qué son las clases, cómo declararlas, qué son los constructores, las propiedades y los métodos. Con esta base, estás un paso más cerca de crear aplicaciones increíbles con Dart y Flutter.
Esperamos que este artículo te haya ayudado a comprender mejor estos conceptos clave. ¡Ahora es tu turno! Experimenta con clases, crea tus propias clases y métodos, y descubre cómo puedes utilizarlos para construir aplicaciones impresionantes en Dart y Flutter. Abajo te dejamos un par de códigos que puedes probar en DartPad ¡Diviértete programando!
void main() async {
final iphone15 = Cellphone(battery: 24, brand: 'Apple');
print(iphone15);
await Future.delayed(const Duration(seconds: 5));
print('Mi teléfono tiene ${iphone15.battery} % de bateria.');
}
class Cellphone {
// Propiedades o características
String brand; // String = cadena de carácteres o texto
int battery; // int = números enteros
bool? isOn; // bool = verdadero o falso
// Constructor
Cellphone({
required this.battery,
required this.brand,
this.isOn
});
// Métodos
bool turnOn() {
print('Se encendió');
return true;
}
}
class Instrumento {
String marca;
int precio;
Instrumento({
required this.precio,
required this.marca
});
@override
String toString() {
return 'Mi instrumento es de marca $marca y su valor es $precio';
}
}
void main() {
final Instrumento miGuitarra = Instrumento(marca: "Ibanez",precio: 52000);
final Instrumento miOcarina = Instrumento(precio: 2000,marca: "Chancho");
final Instrumento miBateria = Instrumento(marca: "Yamaha",precio: 12000);
miBateria.precio;
final List misInstrumentos = [miGuitarra, miOcarina, miBateria];
print(miGuitarra.toString());
print(miOcarina.toString());
print(miBateria.toString());
print(misInstrumentos);
}