dart named constructors with final property value code example

Example 1: dart class fields final

class Point {
  final num x;
  final num y;
  final num distanceFromOrigin;

  Point._(this.x, this.y, this.distanceFromOrigin);

  factory Point(num x, num y) {
    num distance = distanceFromOrigin = sqrt(pow(x, 2) + pow(y, 2));
    return new Point._(x, y, distance);
  }
}

Example 2: dart set final variable in constructor

// You cannot mutate final variables in a constructor body, 
// instead you must use a special syntax.
// Also note if you have a super() call, it must be called last.
class Point {
  final num x;
  final num y;
  final num distanceFromOrigin;

  // Special syntax
  Point(this.x, this.y) :
    distanceFromOrigin = sqrt(pow(x, 2) + pow(y, 2));
}

Tags:

Dart Example