Menu
Coddy logo textTech

Variables de instancia

Parte de la sección Programación Orientada a Objetos del Journey de Dart de Coddy — lección 7 de 110.

Las variables de instancia son variables declaradas dentro de una clase. Cada objeto creado a partir de la clase obtiene su propia copia de estas variables, de forma independiente a todos los demás objetos.

Declara variables de instancia con un tipo y un valor predeterminado opcional:

class Student {
  String school = 'Dart Academy'; // tiene un valor predeterminado
  String name = '';               // valor predeterminado vacío
  int age = 0;                    // valor predeterminado cero
}

Las variables con valores predeterminados comienzan con el mismo valor para cada objeto nuevo. Variables como name y age comienzan vacías o en cero hasta que las establezcas.

Usa un método con this para establecer los datos individuales del objeto:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = variable de instancia
    this.age = age;   // this.age  = variable de instancia
  }
}

Crea estudiantes y asigna sus datos:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

Accede a las variables de instancia utilizando el operador de punto:

print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');

Salida:

Alice is 20 at Dart Academy
Bob is 22 at Dart Academy

Observa que school es el mismo para ambos objetos porque tiene un valor por defecto, mientras que name y age son únicos para cada objeto porque se establecieron individualmente a través de setInfo.

challenge icon

Desafío

Fácil

Completa la clase Student en student.dart:

  1. Declara una variable de instancia String school con el valor por defecto 'Dart Academy'
  2. Declara una variable de instancia String name con el valor por defecto ''
  3. Declara una variable de instancia int age con el valor por defecto 0
  4. Añade un método setInfo que reciba String name e int age como parámetros y los asigne al objeto utilizando this

El archivo driver.dart probará tu clase creando dos estudiantes e imprimiendo su información (bloqueado).

Hoja de referencia

Las variables de instancia son variables declaradas dentro de una clase. Cada objeto obtiene su propia copia de estas variables.

Declare las variables de instancia con un tipo y un valor predeterminado opcional:

class Student {
  String school = 'Dart Academy'; // tiene un valor predeterminado
  String name = '';               // valor predeterminado vacío
  int age = 0;                    // valor predeterminado cero
}

Use un método con this para establecer los datos individuales del objeto:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = variable de instancia
    this.age = age;   // this.age  = variable de instancia
  }
}

Cree objetos y asigne sus datos:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

Acceda a las variables de instancia utilizando el operador de punto:

print('${student1.name} is ${student1.age} at ${student1.school}');
// Output: Alice is 20 at Dart Academy

Pruébalo tú mismo

import 'student.dart';

void main() {
  Student student1 = Student();
  Student student2 = Student();

  student1.setInfo('Alice', 20);
  student2.setInfo('Bob', 22);

  print('${student1.name} is ${student1.age} at ${student1.school}');
  print('${student2.name} is ${student2.age} at ${student2.school}');
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos