簡體   English   中英

擴展多個Java類而不重復

[英]Extend multiple Java classes without duplication

我有一個Java類,可以擴展兩個第三方類中的任何一個,但不能更改。 我可以在編譯時選擇這些實現中的任何一個,除了“ extends”聲明外,無需對我的類進行任何更改。 不幸的是,我需要選擇在運行時而不是在編譯時使用哪種實現。 在運行時在這兩種實現之間進行選擇而不復制整個派生類的最佳方法是什么?

聽起來您需要一個Strategy模式

策略模式(也稱為策略模式)是一種特殊的軟件設計模式,由此可以在運行時選擇算法。

因此,您的Java類應該包含對要使用的兩個類之一的引用,並橋接到該實現。 您選擇的實現可以在運行時選擇。 從問題描述中還不清楚,但是如果您的兩個3rd-party類實現一個公共接口,則您的Java類很可能實現此接口,並且您可以直接映射到引用的3rd-party類。

暫無
暫無

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

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