Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpStSM 85 of 113 menu
◀ ▶

Статический метод в Dart

Статический метод, как и статическое поле, относится ко всему классу. Перед типом результата и именем пишут static. Вызов записывают как Post.showCount() без создания объекта:

class Post { static int count = 0; String title = ""; Post() { count = count + 1; } static void showCount() { print(count); } }

Вызовем конструктор и статический метод:

Post(); Post(); Post.showCount();

Внутри статического метода нет this для полей конкретного объекта. Такой метод работает с общими данными типа - здесь с count - или выполняет действие, не привязанное к одной записи.

Несколько статических команд можно собрать в одном классе. К ним обращаются только по имени Post:

class Post { static String repeatLine(String text, int times) { var parts = <String>[]; for (var i = 0; i < times; i++) { parts.add(text); } return parts.join("\n"); } static int clamp(int value, int min, int max) { if (value < min) { return min; } if (value > max) { return max; } return value; } } print(Post.repeatLine("go", 2)); print(Post.clamp(15, 0, 10));

Если команда логически относится к данным одного объекта, ее оставляют обычным методом экземпляра. Статический метод выбирают для общих операций и для вывода общих полей типа.

Сделайте класс Employee со статическим методом line, который принимает строку и выводит ее. Вызовите Employee.line("ok").

Сделайте класс Employee со статическим методом square, который возвращает квадрат целого числа. Выведите Employee.square(7).

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить