Menu
Coddy logo textTech

Clases vs. Objetos

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

Las clases y los objetos sirven para propósitos diferentes. Una clase es un plano, mientras que un objeto es lo que construyes a partir de ese plano.

Aquí hay un ejemplo de una clase con variables de instancia:

class Dog {
  String name = '';
  String breed = '';
}

Las variables declaradas dentro de una clase (como name y breed) pertenecen a cada objeto creado a partir de esa clase. Exploraremos las variables de instancia en profundidad más adelante.

Crea múltiples objetos de la misma clase:

Dog dog1 = Dog();
Dog dog2 = Dog();

Cada objeto puede tener sus propios valores únicos para esas variables:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

Usa el operador de punto . para acceder a las variables de un objeto:

print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');

Salida:

Nicky is a Siberian Husky
Teemon is a Labrador

Diferencia clave: La clase Dog define la estructura que comparten todos los perros, mientras que dog1 y dog2 son objetos individuales con sus propios datos únicos.

challenge icon

Desafío

Fácil

Completa el código para crear dos objetos de estudiante a partir de la clase Student y establecer sus variables.

  • student.dart: Contiene la clase Student (bloqueado)
  • driver.dart: Crea dos objetos y establece sus datos

Establece los siguientes valores:

  • student1: name es 'Alice' con grade 'A'
  • student2: name es 'Bob' con grade 'B'

Hoja de referencia

Una clase es un plano que define la estructura y el comportamiento de los objetos. Un objeto es una instancia creada a partir de una clase.

Define una clase con variables de instancia:

class Dog {
  String name = '';
  String breed = '';
}

Crea objetos a partir de una clase:

Dog dog1 = Dog();
Dog dog2 = Dog();

Accede y modifica las variables de un objeto utilizando el operador de punto .:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

Accede a las variables del objeto:

print('${dog1.name} is a ${dog1.breed}');
// Salida: Nicky is a Siberian Husky

Pruébalo tú mismo

import 'student.dart';

void main() {
  // TODO: Crear dos objetos Student


  // TODO: Establecer nombre y calificación para student1 (nombre: 'Alice', calificación: 'A')


  // TODO: Establecer nombre y calificación para student2 (nombre: 'Bob', calificación: 'B')


  print('${student1.name} has grade ${student1.grade}');
  print('${student2.name} has grade ${student2.grade}');
}
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