簡體   English   中英

具有不同類型元素的復雜ArrayList

[英]Complex ArrayList with different type elements

我正在創建一個復雜的數據類型。 它是ArrayLists(章節)的ArrayList(章節)。 但是,本章有兩個版本,每個版本都有受尊重的元素和數據類型。

我如何聲明我的復雜數據類型,以便我可以添加一個或另一個(例如,包含(chapter_typeI,chapter_typeII,chapter_typeII,chapter_typeI,chapter_typeII等...)的ArrayList(章節)?

創建一個抽象類,從中繼承這兩種類型的章節,然后聲明這種類型的列表。

public abstract class AbstractChapter {}

public class ChapterTypeOne extends AbstractChapter {}

public classs ChapterTypeTwo extends AbstractChapter {}

List<AbstractChapter> chapters = new ArrayList<AbstractChapter>;

您要調用的操作應在抽象類中聲明,然后在特定實現中根據需要覆蓋。

如果您定義了明確的層次結構,那么創建類型列表總是比實際對象更好。

 List<Type> list = new ArrayList<Type>();

現在Type可以是您的界面

interface Type {
    void method();
}

現在你可以擁有

SubType1 implements Type {
    void method() {
        // do something.
    }
}

SubType2 implements Type {
    void method() {
        // do something.
    }
}

您還可以使用Abstract Skeletal模式,如果需要,您可以在其中使用類AbstractType和默認實現

最好的方法是使用繼承來定義抽象類“Chapter”,並從抽象類派生章節類型。

你可以有一個抽象的基類“Chapter”,從中繼承ChapterI和ChapterII。

暫無
暫無

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

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