0Pricing
Dart Academy · Урок

Конструкторы по умолчанию и с параметрами

Инициализация полей при создании объектов

«Конструкторы по умолчанию и с параметрами» — бесплатный урок Dart Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.

Что делает конструктор

Конструктор — это специальный метод, который создаёт новый объект и задаёт его начальное состояние, когда вы записываете имя класса. 🏗️

Конструктор по умолчанию

Если вы вообще не напишете конструктор, Dart бесплатно предоставит конструктор по умолчанию, который не принимает аргументов и создаёт простой объект.

class Dog {}
var d = Dog(); // uses the default constructor

Конструктор с параметрами

Добавьте параметры, чтобы вызывающий код мог сразу передать значения. Конструктор с параметрами присваивает эти значения полям объекта.

class Dog {
  String name;
  Dog(this.name);
}

Ключевое слово this в параметрах

Сокращённая запись this.name в параметре означает: взять аргумент и сразу сохранить его в поле с таким же именем, сэкономив одну строку.

class Dog {
  String name;
  Dog(this.name);
}

Без сокращения this

Вместо этого можно выполнить присваивание вручную в теле. Здесь this отделяет поле от параметра, когда их имена совпадают.

class Dog {
  String name;
  Dog(String name) {
    this.name = name;
  }
}

Создание объекта

Вызовите класс как функцию и передайте аргументы по порядку. Dart выполнит конструктор и вернёт готовый экземпляр.

var d = Dog("Rex");
print(d.name); // Rex

Несколько параметров по порядку

Перечисляйте параметры слева направо; вызывающий код должен передавать их в том же позиционном порядке. Это удобно для двух или трёх понятных полей.

class Point {
  int x, y;
  Point(this.x, this.y);
}

Добавление логики в тело

Тело конструктора может выполнить дополнительную настройку после установки полей, например проверку или ведение журнала. Тело следует держать небольшим и целенаправленным.

class Box {
  int size;
  Box(this.size) {
    print("Box made: $size");
  }
}

У конструкторов нет типа возвращаемого значения

Вам не нужно указывать тип возвращаемого значения и возвращать значение. Конструктор всегда возвращает новый объект, поэтому достаточно одного имени.

class Cat {
  Cat(); // no void, no return
}

Один безымянный конструктор на класс

Класс может иметь только один безымянный конструктор. Нужно больше способов создания? Далее вы познакомитесь с именованными конструкторами.

Значения по умолчанию исчезают после добавления конструктора

Как только вы объявляете любой конструктор, Dart перестаёт предоставлять бесплатный конструктор без аргументов. Если вам всё ещё нужно создавать пустой объект, добавьте его самостоятельно.

class User {
  String name;
  User(this.name);
  User.empty() : name = "";
}

Быстрая проверка

Быстрая проверка различий между конструкторами по умолчанию и конструкторами с параметрами.

Итоги: создание объектов

Вы познакомились с конструкторами: бесплатным конструктором по умолчанию, конструкторами с параметрами, сокращением this и тем, как объявление конструктора удаляет вариант по умолчанию. Далее — именованные конструкторы. ✨

Часто задаваемые вопросы

Урок «Конструкторы по умолчанию и с параметрами» бесплатный?

Да — полный текст урока «Конструкторы по умолчанию и с параметрами» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.

Чему я научусь в уроке «Конструкторы по умолчанию и с параметрами»?

Инициализация полей при создании объектов Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Dart Academy?

Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Конструкторы по умолчанию и с параметрами»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Dart Academy?

Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Конструкторы по умолчанию и с параметрами
  2. Именованные конструкторы для ясного замысла
  3. Списки инициализации и перенаправление
  4. Конструкторы factory и const
← Назад к Dart Academy