gpt4 book ai didi

java - 在java android中覆盖子类中的属性类型

转载 作者:搜寻专家 更新时间:2023-11-01 07:46:28 24 4
gpt4 key购买 nike

我正尝试在 Android 中使用 MVP(模型- View -呈现器)模式实现我的应用程序,但我遇到了问题。我想要一个具有通用类型 View 类属性的抽象基演示器 ViewInterface但是在创建真正的演示者时,我希望此属性的类型为 RealPresenterView如果可能的话,无需覆盖所有演示者中的相同功能。

因为我可能没有正确解释自己,这里有一些代码来说明这个案例,首先是基本演示者:

abstract public class BasePresenter {
protected ViewInterface view;

protected ViewInterface getView() {
return view;
}
}

然后才是真正的主持人

public class RealPresenter {
protected RealPresenterView view;

// ...
view.methodOnlyExistingInRealPresenterView();
}

我希望能够将 RealPresenter 中的 View 用作 RealPresenterView,而无需在类中添加太多代码。这可能吗?

我读过类模板,但我还没有看到如何在这种情况下实现而不在每个演示者中添加函数。

最佳答案

你可以使用泛型:

BasePresenter

abstract public class BasePresenter<T extends ViewInterface> {
protected T view;

protected T getView() {
return view;
}
}

真实演示者

public class RealPresenter extends BasePresenter<RealPresenterView> {

}

请注意,我有一段时间没有使用 Java 编写代码,但我认为这没关系。

关于java - 在java android中覆盖子类中的属性类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43273398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com