簡體   English   中英

Java:由於繼承而多次實現相同的接口。 可以嗎?

[英]Java: Implement the same interface multiple times due to inheritance. Is it ok?

這個問題主要與繼承和擴展的工作方式有關。

我目前有以下幾點:

public class Client extends BaseClient { ... }

public class BaseClient extends MinimalisticClient { ... }

它們之間的主要區別在於它們持有(從數據庫中獲取)的參數(數據)數量。

我想要做的是為每個單獨的接口創建一個只包含 getter 的接口。

所以,它會是這樣的:

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 設備上運行,而且我必須盡可能地管理內存使用情況。

這工作正常,但您應該問問自己為什么需要這些接口。 如果您沒有接口的多個實現,那么首先您似乎沒有理由擁有它們。

是的,這是可以接受的。 由於接口不是父類(並且不能在層次結構中向上移動),因此在實現中多次使用相同的接口是完全可以接受的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM