3.6 Conceptos básicos de dardos: clases y objetos
Dart es un lenguaje orientado a objetos, lo que significa que casi todo es un objeto, incluidas funciones y valores nulos. En Dart, las clases son la forma principal de definir objetos. Comprender las clases y los objetos es fundamental para dominar Dart y, por extensión, Flutter.
Clases
En Dart, una clase es una plantilla o plano a partir del cual se crean objetos. Una clase representa un conjunto de propiedades (variables) y métodos (funciones) que son comunes a todos los objetos de un tipo determinado.
Para definir una clase en Dart, utilizamos la palabra clave 'clase' seguida del nombre de la clase. Por ejemplo, si quisiéramos crear una clase para representar un automóvil, podríamos hacer algo como esto:
clase coche { modelo de cuerda; año entero; unidad vacía() { print('Vroom Vroom'); } }
En este ejemplo, 'Coche' es una clase con dos propiedades, 'modelo' y 'año', y un método llamado 'conducción'.
Objetos
Un objeto es una instancia de una clase. Tiene un estado y un comportamiento. El estado de un objeto se almacena en sus propiedades y el comportamiento se define mediante sus métodos. Para crear un objeto a partir de una clase, usamos la palabra clave 'nueva' seguida del nombre de la clase y paréntesis. Por ejemplo, para crear un objeto de la clase 'Coche', haríamos lo siguiente:
var miCoche = coche nuevo();
En este ejemplo, 'myCar' es un objeto de la clase 'Car'. Podemos acceder a las propiedades y métodos de un objeto usando el operador '.'. Por ejemplo, para establecer el modelo y año de nuestro coche y luego hacer que el coche circule, haríamos lo siguiente:
myCar.model = 'Tesla Modelo S'; miCoche.año = 2020; miCoche.drive();
Constructores
Un constructor es un método especial que se llama cuando se crea un objeto. En Dart, cada clase tiene un constructor predeterminado, que no toma parámetros y no hace nada. Sin embargo, puedes definir tu propio constructor para una clase, lo que puede resultar útil para inicializar las propiedades de un objeto cuando se crea.
Para definir un constructor para una clase, usamos el nombre de la clase seguido de paréntesis. Dentro del paréntesis, podemos definir los parámetros para el constructor. Por ejemplo, podríamos definir un constructor para la clase 'Car' que acepte el modelo y el año como parámetros:
clase coche { modelo de cuerda; año entero; Coche (modelo de cadena, año int) { este.modelo = modelo; este.año = año; } unidad vacía() { print('Vroom Vroom'); } }
Ahora, cuando creamos un coche nuevo, podemos pasar el modelo y el año directamente al constructor:
var myCar = coche nuevo('Tesla Model S', 2020);
Conclusión
Las clases y los objetos son conceptos fundamentales en Dart y en la programación orientada a objetos en general. Las clases nos permiten definir modelos para objetos y los objetos nos permiten crear instancias de esos modelos. Los constructores nos permiten inicializar las propiedades de un objeto cuando se crea. Dominar estos conceptos es esencial para crear aplicaciones con Flutter y Dart.