android继承多个接口,关于android:Java:由于继承,多次实现相同的接口。 可以吗...

这个问题主要与继承和扩展的工作方式有关。

我目前有以下内容:

public class Client extends BaseClient { ... }和

public class BaseClient extends MinimalisticClient { ... }

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

我要做的是为每个仅包含吸气剂的接口创建一个接口。

因此,它将类似于:

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设备上运行,而且我必须尽可能多地管理内存使用情况。

是; 没关系。

stackoverflow.com/questions/19546357/

旁注:如果必须在接口或实现的前缀之间进行选择,则可以对实现类使用ID。

如果接口层次结构总体上有意义,那么某些类多次继承同一接口就没有问题。 仅当通过反射查询它们时,这才有所不同。

这很好,但是您应该问自己为什么需要接口。 如果您没有该接口的多个实现,那么似乎没有必要将它们放在首位。

我这样做主要是为了确保代码的某些部分无法访问设置程序。拥有权利的同时也被赋予了重大的责任。因此,如果我中风并在某处打电话给塞特犬,我必须保护自己免受愚蠢之苦。

@AlexJeefo多数民众赞成在什么专用和受保护。

是的,但就我而言,我不希望它们完全无法访问,因为我实际上需要在某些特定位置使用公共设置器。可以这样考虑:创建一个新的客户端,将其添加到数据库中。当我显示它时,我不想访问任何设置器。但是,如果要编辑客户端,则需要访问设置器(或创建新的Client对象)。在为Android编程时,我只希望与编辑有关的活动使用具体对象并有权访问设置器。任何其他活动均应通过其界面存储客户端。

@AlexJeefo如果您有理由,那就太好了。不好的是,如果您无缘无故地使代码复杂化。看来您在这里做出了明智的决定,这就是我想指出的所有您应该做的。

是的,可以接受。 由于接口不是父类(并且不能在层次结构中向上移动),因此在实现中具有相同的接口多次乘法是完全可以接受的

感谢您的回答。我刚刚开始实施它。似乎它迫使我再次重写这些方法(BaseClient被强制重写IMinimalisticClient方法,这并不是我真正想要的,因为我想继续使用要扩展的类中已经定义的方法)。有什么办法可以解决这个问题?

没关系,我以前的评论。我只是搞砸了自己。一切都很好。谢谢

但是,当然,接口之间的继承是直接的acyclig图-因此无法在接口之间进行多重继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值