The Dart programming language uses classes and interfaces similarly to Java, C# and PHP. Dart supports single inheritance similarly to Java, C# and PHP. Dart supports multiple interfaces implementation similarly to Java, C# and PHP. As in Java and in C# every class inherits (by default) from the Object class. The classes can have public and private members. The public accessibility is the default one. Dart supports a special shorthand syntax for accessing class properties, similarly to properties in C#.
class Rectangle
{
double _width;
double _height;
Rectangle(double w,double h)
{
width = w;
height = h;
}
get width => _width;
set width(size) => (size>0)?_width=size:_width=10.0;
get height => _height;
set height(size) => (size>0)?_height=size:_height=10.0;
area() => width * height;
perimeter() => 2*(width+height);
}
main()
{
var ob = new Rectangle(3.2,4.4);
ob.width = 20.2;
ob.height = -4.1;
var area = ob.area();
print("area is $area");
}
The following video clip overviews this code sample, shows its execution and explains it.







