If you want to extend a class when one of the optional argument is not a member variable and it is required?
1. this.length requires member variable.
2. @required requires assert
3. use : instead of =
4. make a class extended TickerProvider because it is abstract class. I made myTickerProvider as the example.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | AppTabController appTabController = new AppTabController(mLength:10, mVsync:new myTickerProvider()); class TabController extends ChangeNotifier { int length; TabController({ int initialIndex = 0, @required this.length, @required TickerProvider vSync }) : assert(length != null), assert(vSync != null); } //end of TabController class AppTabController extends TabController { AppTabController({int mInitialIndex, int mLength, TickerProvider mVsync}):super(length: mLength, vSync: mVsync); } class myTickerProvider extends TickerProvider{ @override Ticker createTicker(onTick) { // TODO: implement createTicker return null; } } |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.