Java:由于继承,多次实现相同的接口(interface)。可以吗?

标签 java android oop inheritance interface

问题主要与继承和扩展的工作原理有关。

我目前有以下内容:

public class Client extends BaseClient { ... }

public class BaseClient extends MinimalisticClient { ... }

它们之间的主要区别在于它们持有的参数(数据)的数量(从数据库中获取)。

我想做的是为每个单独的接口(interface)创建一个只包含 getter 的接口(interface)。

所以,它会是这样的:

public interface IMinimalisticClient { getters }
public class MinimalisticClient implements IMinimalisticClient { ... }

public interface IBaseClient extends IMinimalisticClient { the extra getters }
public class BaseClient extends MinimalisticClient implements IBaseClient { ... }

public interface IClient extends IBaseClient { the extra extra getters }
public class Client extends BaseClient implements IClient { ... }

以BaseClient为例。当我扩展 MinimalisticClient 时,我默认将 IMinimalisticClient 实现到 BaseClient 中。但是,我还实现了 IBaseClient,它也扩展了 IMinimalisticClient。这是可以接受的吗?我在做一些完全愚蠢的事情吗?

顺便提一下,我之所以按照我介绍的方式进行操作,只是因为该软件将在廉价的 Android 设备上运行,而且我必须尽可能多地管理内存使用。

最佳答案

这很好用,但您应该问问自己为什么需要这些接口(interface)。如果您没有接口(interface)的多个实现,那么您似乎没有理由首先拥有它们。

关于Java:由于继承,多次实现相同的接口(interface)。可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48645060/

相关文章:

java - 通过调用方法打印右对齐三角形

java - 没有合适的组件供应商 - Buckminster

java - 使用 jersey 获取所有 html 表单参数名称和值

android - 新的Gradle版本在App级别build.gradle中没有依赖项部分

java - 浏览 ISO 20022 电子存储库的内容

Android,获取应用大小

java - 如何在android中将数组发布到php服务器?

java - 依赖注入(inject)、多态性和 OOP 模式(MVC、命令等)

c# - 我们可以用 C# 中的对象替换 if 语句吗

oop - 这两种方法有什么区别[Smalltalk Best Practice Patterns - Kent Beck]?