Что значит двоеточие в классе дартс? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь понять, что означают эти две последние строки кода для двоеточий ... Это вопрос синтаксиса. Я следую этому примеру с github, и у меня есть это сомнение на моей голове. Может кто-то помочь мне с этим?.

class DietPlan extends ParseObject implements ParseCloneable {
  DietPlan() : super(keyDietPlan);
  DietPlan.clone() : this();

1 Ответ

1 голос
/ 01 мая 2020

Часть после: называется "списком инициализатора". Это список выражений, которые могут обращаться к параметрам конструктора и могут назначать полям экземпляра, даже полям конечного экземпляра.

Первый двоеточие, то есть DietPlan() : super(keyDietPlan); означает, что вы вызываете супер-конструктор, в данном случае конструктор ParseCloneable. Это базовая OOP концепция, вы можете расширять или реализовывать один класс в другой, и вы должны вызывать конструктор суперкласса, если вы это делаете. стиль выполнения того же в Dart.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...