РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
45 of 723 menu

Ключевое слово this

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

Внутри конструктора this позволяет отличить поле класса от параметра с тем же именем. В именованных конструкторах this можно использовать в списке инициализации для присваивания значений полям. Кроме того, this можно передавать в другие функции и возвращать из методов.

Синтаксис

this.field this.method() this.namedConstructor()

Пример

Давайте рассмотрим класс, в котором имя параметра конструктора совпадает с именем поля. Используем this, чтобы присвоить значение полю:

class User { String name; int age; User(this.name, this.age); void show() { print('Name: $name, Age: $age'); } } void main() { User user = User('abcde', 25); user.show(); }

Результат выполнения кода:

"Name: abcde, Age: 25"

Пример

Давайте используем this внутри метода для возврата текущего объекта. Это позволяет строить цепочки вызовов:

class Counter { int value = 0; Counter increment() { this.value++; return this; } void show() { print(this.value); } } void main() { Counter counter = Counter(); counter.increment().increment().increment().show(); }

Результат выполнения кода:

3

Пример

Давайте вызовем один конструктор из другого с помощью this. Это позволяет избежать дублирования кода:

class Point { double x; double y; Point(this.x, this.y); Point.origin() : this(0, 0); void show() { print('($x, $y)'); } } void main() { Point point = Point.origin(); point.show(); }

Результат выполнения кода:

"(0.0, 0.0)"

Смотрите также

  • ключевое слово super,
    которое ссылается на родительский класс
  • ключевое слово new,
    которое создает экземпляр класса
  • ключевое слово const,
    которое создает константный объект
  • ключевое слово var,
    которое объявляет переменную
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить