Основы Dart 2.x (Классы и объекты)

Классы и объекты

ООП - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Объект — это сущность (экземпляр класса), которой можно посылать сообщения и которая может на них реагировать, используя свои данные. Объект может обладать двумя основными характеристиками: состояние - некоторые данные которые хранит объект (поля или переменные класса), и поведение - действия, которые может совершать объект (методы).
Пример программы на Dart:

Конструкторы

Кроме обычных методов, классы могут определять специальные методы, которые называются конструкторами. Конструкторы вызываются при создании нового объекта данного класса. Конструкторы выполняют инициализацию объекта.
Разберем 2-ю строчку кода:

Самое первое мы пишем имя класса ToyotaCars, далее имя создаваемого объекта corolla и через оператор присвоения (=) метод без параметров ToyotaCars() - он же и есть наш конструктор, который выполнить инициализацию нашего объекта corolla.

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

Если необходимо что бы при создании объекта поля класса получали какие-то определенные значения тогда используется конструктор с параметрами:

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

Либо с помощью this, мы можем сократить определение конструктора:

Именованные конструкторы

По умолчанию мы можем определить только один общий конструктор. Если же нам необходимо использовать в классе сразу несколько конструкторов, тогда необходимо применять именованные конструкторы, это выглядит как дополнительное имя конструктору, через точку от имени класса.
Например:

Подборка заметок