0Pricing
Dart Academy · Урок

Методы экземпляра и this

Добавление поведения, работающего с данными экземпляра

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

Добавление поведения

Поля хранят данные, но класс также может выполнять действия. Функция, определённая внутри класса, называется методом экземпляра.

Ваш первый метод

Запишите метод так же, как функцию, но внутри тела класса. Он может напрямую читать и использовать собственные поля объекта.

class Dog {
  String name = "Rex";
  void bark() {
    print("Woof!");
  }
}

Вызов метода

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

var d = Dog();
d.bark();

Методы видят поля

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

void greet() {
  print("Hi, I am $name");
}

Познакомьтесь с this

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

void greet() {
  print(this.name);
}

Когда this необязателен

Часто this подразумевается, поэтому его можно опустить. Записи name и this.name означают одно и то же, если имена не конфликтуют.

void greet() {
  print(name); // same as this.name
}

Когда нужен this

this нужен, когда параметр скрывает поле с таким же именем. Он сообщает Dart, что Вы имеете в виду поле, а не параметр.

void rename(String name) {
  this.name = name;
}

Методы принимают параметры

Метод может принимать входные данные, как и любая функция. Объединяйте эти данные с полями, чтобы получать полезные результаты.

void addAge(int years) {
  age = age + years;
}

Методы могут возвращать значения

Укажите для метода тип возвращаемого значения и верните результат. Так один объект может вычислить значение и передать его обратно в Ваш код.

String label() {
  return "$name ($age)";
}

Методы вызывают методы

Один метод может вызвать другой у того же объекта. Просто используйте имя напрямую — this будет подразумеваться автоматически.

void play() {
  bark();
  print("$name is playing");
}

Почему методы важны

Методы хранят поведение рядом с данными, которые они используют. Ваши объекты становятся умными, самодостаточными и гораздо более понятными. 🐕

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

У метода есть параметр с таким же именем, как у поля. Как присвоить значение полю?

Повторение: методы и this

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

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

Урок «Методы экземпляра и this» бесплатный?

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

Чему я научусь в уроке «Методы экземпляра и this»?

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

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

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

Сколько времени занимает урок «Методы экземпляра и this»?

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

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

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

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

  1. Определение класса с полями
  2. Методы экземпляра и this
  3. Геттеры и сеттеры
  4. Статические члены и константы класса
← Назад к Dart Academy