Расширение базового класса флаттера - PullRequest
0 голосов
/ 12 мая 2018

Будучи новичком в Dart, я не уверен, как мне расширить класс моего виджета Statefull.Вот как выглядит один из моих классов

class HomeState extends State<Home>
{
} 

. Я хотел бы, чтобы класс HomeState наследовал некоторые методы из моего пользовательского класса.Что-то вроде этого

class CustomClass
{
   void DisplayBusyDialog()
   {
         ......
   }
}

Я знаю в Dart, как Java, вы не можете наследовать от нескольких классов (в отличие от C ++).Мой вопрос: что мне нужно сделать, чтобы HomeState наследовал от CustomClass?Нужно ли моему пользовательскому классу наследовать от StatefulWidget, а затем HomeState class extension CustomClass?как насчет состояния шаблона, как мне справиться с этим в моем пользовательском классе?Любые предложения будут оценены ..

1 Ответ

0 голосов
/ 12 мая 2018

То, что вам нужно, это mixin, который позволяет несколько «расширений».

class Bar {
  bar() {}
}

mixin Mixin {
  foo() {}
}

class Foo extends Bar with Mixin {
  hello() {
    foo();
    bar();
  }
}

А если вам нужен ваш микс в полях доступа из базового класса:

mixin Mixin on Bar {
  foo() {
    bar();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...