Dart – Getter & setter

Rectancle class with getter and setter (and with “classic” methods)

class Rectangle {
  double left, top, width, height;

  Rectangle(this.left, this.top, this.width, this.height);

  //Getter
  //======
  double get right => left + width;
  
  //Alternative 'getter'
  double getRight() {
    return left + width;
  }
  
  //Setter
  //======
  set right(double value) => left = value - width;
  
  //Alternative 'setter'
  void setRight(double value) {
    left = value - width;
  }
  
  toString() {
    return 'left=$left, top=$top, width=$width, height=$height';
  }
}

void main() {
  var rect = Rectangle(3, 4, 20, 15);
 
  print(rect);
  
  //Call setter
  rect.right = 12;
  
  //Call getter
  print(rect.right);
  
  //Alternative
  rect.setRight(12);
  print(rect.getRight());
  
  print(rect);
}