[英]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.