← Dart tutorial

Dart

Classes & Objects

A class describes fields and methods; ClassName(...) creates an object from it, Dart doesn't require the new keyword, unlike Java or C#.

Example: a Student class

class Student {
  String name;
  String track;

  Student(this.name, this.track);
}

void main() {
  var ada = Student('Ada', 'Frontend');
  print('${ada.name} is studying ${ada.track}');
}
Ada is studying Frontend

Student(this.name, this.track); is Dart's compact constructor shorthand, this.name directly assigns the constructor's first argument to the object's own name field, with no separate assignment line needed inside the constructor body, the way Java or C# would require. This exact same "class describes a blueprint, new instances get created from it" pattern is precisely how Flutter builds every single UI widget, which is exactly why learning Dart's classes first makes Flutter's structure click much faster.

Example
class Student {
  String name;
  String track;

  Student(this.name, this.track);
}

void main() {
  var ada = Student('Ada', 'Frontend');
  print('${ada.name} is studying ${ada.track}');
}
Output
Ada is studying Frontend
Ready to go further?

These free tutorials are a preview of what a Code Secure Academy cohort covers, project work and all.

Explore our tracks
Don't miss out

Ready to build something real?

Create a free account to enroll in a track, and get notified the moment a cohort opens.

Create free account