Notas sobre Dart
Notas
DART
En Dart todo son objetos. Las variables son instancias de objetos
var numero2 = 2;
Late
Se utiliza para declarar una variable no acepta null pero que será declarada después de su declaración
late int edad;
Nulos
De forma predeterminada todos los tipos ahora no admiten nulos. Para que se admita se pone ?
String? name;
Se inicializa null de forma predeterminada.
Puntuación
Las sentencias se separan con ; excepto las llaves
Los parámetros de las funciones se separan con "," y si son nombrados se utiliza el parámetro y ": "
infoPersona(
"Carlos",
24,
ciudad: "CDMX");
Constantes
const aloja el valor en tiempo de compilación
final en tiempo de ejecución
const NOMBRE = "Pepe";
final EDAD = 24;
Funciones
También son objetos.
int suma(int a, int b) {
return a + b;
}
Cuando son de una sola línea se pueden escribir así:
int suma(int a, int b) => a + b;
Funciones anónimas
int operacion(int a, int b, Function func) => func(a, b);
se podría llamar así:
operacion(5, 3, (a, b) => a * b);
Parámetros opcionales posicionados
Se escriben entre corchetes. Solo pueden ser los últimos
void infoPersona(String nombre, int edad, [String ciudad]) {
print("Descripcion: $nombre con $edad años de $ciudad");
}
Parámetros opcionales nombrados
Se encierran entre llaves
void infoPersona(String nombre, int edad, {String ciudad}) {
se llamaría con
infoPersona("Carlos", 24, ciudad: "CDMX");
Parámetros con valores por defecto
void infoPersona(String nombre, int edad, {String ciudad = "CDMX"}) {
Clases
Se usa la palabra reservada class seguida de llaves y dentro la definición de miembros y funciones. Por defecto tiene un constructor vacío. :
class Gato {
var nombre;
bool dormido(bool estado){
return estado;
}
}
Crear Instancia de una Clase
Podemos utilizar la palabra var o el nombre de la clase seguido del nombre de la instancia, le asignamos la llamada del constructor de la clase Gato con el uso opcional de la palabra new.
var gato = new Gato();
gato.nombre = "Esponjita";
gato.dormido(true);
Clase con constructores nombrados
Se utilizan para tener diversos constructores, consiste en escribir el nombre del constructor, punto y un nombre a asignar.
class Gato{
var nombre;
var botas;
Gato(String nombre){
this.nombre = nombre;
}
Gato.conBotas(String nombre, bool botas){
this.nombre = nombre;
this.botas = botas;
}
}
se puede escribir reducido:
Gato(this.nombre);
Gato.conBotas(this.nombre, this.botas);
Miembros privados
Se declaran con un guion bajo antes del nombre
class Gato{
var nombre;
var _edad;
}
main(List<String> arguments) {
var gato = Gato()
gato._edad = 12; // ERROR
}
Miembros estáticos
Tanto para campos como para métodos. Se declaran con "static"
Las variables y métodos estáticos son parte de la clase en lugar de una instancia específica.
Si un miembro de datos es estático, se puede acceder a él sin crear un objeto.
La palabra clave estática permite a los miembros de datos conservar valores entre diferentes instancias de una clase.
Getters y Setters
Cuando declaramos miembros de un clase, Dart encapsula cada uno en sus métodos de acceso get y set. Sin embargo podemos personalizarlos.
class Gato{
var _edad;
set edad(int edad) {
this._edad = edad;
}
int get edad {
return _edad + 2;
}
}
main(List<String> arguments) {
var gato = Gato()
gato.edad = 12; // set
print(gato.edad); // get
}
Herencia
Para heredar de otra clase usamos la palabra extends seguido del nombre de la clase
class Gato extends Animal {
var nombre;
habla() => print("Mew");
}
Comentarios
Publicar un comentario