Creating an object
A class is a blueprint for objects. The process of creating objects from a class is called instantiation. An object can be instantiated with a new statement from a class or through reflection. It must be instantiated before it is used.
A class contains a constructor method that is invoked to create objects from the class. It always has the same name as the class. Dart defines two types of constructors: generative and factory constructors.
A generative constructor
A generative constructor consists of a constructor name, a constructor parameter list, either a redirect clause or an initializer list, and an optional body. Dart always calls the generative constructor first when the class is being instantiated, as shown in the following code:
class SomeClass { // Default constructor SomeClass(); } main() { var some = new SomeClass(); }
If the constructor is not defined, Dart creates an implicit one for us as follows:
class AnyClass { // implicit constructor } main() {...