【发布时间】:2014-01-02 14:31:40
【问题描述】:
我的 Dart 应用具有以下类层次结构:
abstract class AbstractPresenter {
AbstractView view;
AbstractPresenter(this.view);
void start(EventBus eventBus) {
view.presenter = this;
querySelector("body").innerHTML = view.render();
}
}
abstract class SigninPresenter implements AbstractPresenter {
void onSignin(MouseEvent mouseEvent);
}
class DefaultSigninPresenter implements SigninPresenter {
// Lots of code
}
abstract class AbstractView {
AbstractPresenter presenter;
AbstractView(this.presenter);
String render();
void bindUI(String html);
}
abstract class SigninView implements AbstractView {
SigninView(AbstractPresenter presenter) : super(presenter);
LabelElement getSigninLabel();
void setSigninLabel(LabelElement signinLabel);
InputElement getEmailTextField();
void setEmailTextField(InputElement emailTextField);
}
class DefaultSigninView implements SigninView {
LabelElement signinLabel;
InputElement emailTextField;
DefaultSigninView(SigninPresenter presenter) : super(presenter);
// Lots of code...
}
这个想法是定义“视图”和“演示者”的层次结构,最终DefaultSigninView 将与DefaultSigninPresenter 相关(双向)。
但我在DefaultSigninView 的构造函数中收到编译器警告,抱怨我对super(presenter) 的调用:
缺少继承的成员“AbstractView.presenter”
为什么它不能“看到”我正在传递它的演示者?父构造函数 (AbstractView) 采用 AbstractPresenter...
【问题讨论】:
标签: inheritance dart mvp multiple-inheritance super