Статические члены и константы класса
Общие данные и вспомогательные средства на уровне класса
«Статические члены и константы класса» — бесплатный урок Dart Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Общие, а не принадлежащие экземплярам
Большинство членов принадлежит каждому объекту, но некоторые относятся к самому классу. Такие члены называются статическими и являются общими для всех.
Статическое поле
Пометьте поле как статическое, и оно будет существовать в единственном экземпляре для всего класса, а не отдельно для каждого экземпляра. Все объекты видят одно и то же значение.
class Dog {
static int count = 0;
}Доступ к статическим членам
Обращайтесь к статическому члену через имя класса, а не через экземпляр. Для его использования не нужно создавать объект.
Dog.count = 5;
print(Dog.count);Подсчёт экземпляров
Классический пример использования статического поля — общий счётчик. Каждый новый объект может увеличивать его, чтобы отслеживать количество существующих объектов.
Dog() {
count++;
}Статические методы
Статический метод также принадлежит классу. У него нет this, и он не может обращаться к полям экземпляра — только к статическим полям.
static int square(int n) => n * n;Вызов статических методов
Вызывайте статический метод через имя класса. Это похоже на вспомогательную функцию в пространстве имён, сгруппированную внутри вашего класса.
var r = MathUtil.square(4); // 16Константы класса
Объедините static и const, чтобы создать общую константу. Она вычисляется во время компиляции и имеет одно значение для всего класса.
static const double pi = 3.14159;Использование константы класса
Читайте константу класса через имя класса, как обычное статическое поле. Она идеально подходит для фиксированных значений конфигурации.
print(Circle.pi);Статический член не видит экземпляр
Статический член выполняется без объекта, поэтому у него нет this. Попытка прочитать из него поле экземпляра приводит к ошибке.
static void show() {
// print(name); // error
}Когда выбирать статические члены
Выбирайте статические члены, когда данные или поведение относятся ко всему типу, а не к одному созданному вами объекту.
Статические вспомогательные методы поддерживают порядок
Группировка связанных вспомогательных средств в виде статических методов помогает держать их в порядке под одним именем класса, вместо того чтобы оставлять их разрозненными функциями. 🧰
Быстрая проверка
Вам нужен один общий счётчик для всех объектов класса. Что следует использовать?
Итоги: статические члены и константы
Вы узнали, что статические члены принадлежат классу и не имеют this, а сочетание static const задаёт общие константы времени компиляции. 🎉
Изучай Dart с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Статические члены и константы класса» бесплатный?
Да — полный текст урока «Статические члены и константы класса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Статические члены и константы класса»?
Общие данные и вспомогательные средства на уровне класса Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Статические члены и константы класса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение класса с полями
- Методы экземпляра и this
- Геттеры и сеттеры
- Статические члены и константы класса