Ключевое слово new
Ключевое слово new создает и возвращает новый экземпляр
указанного класса. Первым параметром после ключевого слова
указывается имя класса, а в круглых скобках передаются
аргументы в конструктор этого класса. В современном Dart
ключевое слово new является необязательным и чаще
всего опускается, однако оно по-прежнему поддерживается
для обратной совместимости и для явного указания намерения
создать новый объект.
Синтаксис
new ClassName(arguments)
Пример
Давайте создадим экземпляр класса Point с помощью
ключевого слова new и выведем его координаты:
class Point
{
int x;
int y;
Point(this.x, this.y);
void printCoords()
{
print('($x, $y)');
}
}
void main()
{
Point p = new Point(1, 2);
p.printCoords();
}
Результат выполнения кода:
"(1, 2)"
Пример
В современном Dart ключевое слово new можно
опустить - результат будет тем же самым:
class Point
{
int x;
int y;
Point(this.x, this.y);
void printCoords()
{
print('($x, $y)');
}
}
void main()
{
Point p = Point(3, 4);
p.printCoords();
}
Результат выполнения кода:
"(3, 4)"
Пример
Давайте создадим список из нескольких экземпляров класса,
используя ключевое слово new:
class Point
{
int x;
int y;
Point(this.x, this.y);
void printCoords()
{
print('($x, $y)');
}
}
void main()
{
List<Point> points = [
new Point(1, 2),
new Point(3, 4),
new Point(5, 6)
];
for (Point p in points)
{
p.printCoords();
}
}
Результат выполнения кода:
"(1, 2)"
"(3, 4)"
"(5, 6)"