首页 > 解决方案 > 返回在方法链接中使用的类

问题描述

我有以下代码:

class PageMedia {
    public PageMedia upload(){return this;}
    public void insert(){}
}

class PageA {    
    public PageA dosomething(){ return this;}
    public void openMedia(){ return page(PageMedia.class);}
    public PageA save(){ return this;}

}

class PageB {   
    public PageB dosomething(){ return this;}
    public void openMedia(){ return page(PageMedia.class);}
    public PageB save(){ return this;}
}

每个类都是唯一的,每个方法都是唯一的。
需要类 PageMedia 的方法“insert”返回一个类 PageA 或 PageB,用于链中。

因此,可以执行以下操作:

PageA.open()
    .dosomething()
    .openMedia()
    .upload()
    .insert()
    .save;

PageB.open()
    .dosomething()
    .openMedia()
    .upload()
    .insert()
    .save;

标签: java

解决方案


如果我理解你的问题是正确的。你可以使用这样的东西:

interface Page {
    //general Methods ... save, openMedia, ...
}

class PageMedia {

    Page reference;

    public PageMedia(Page reference){
        this.refreence = reference;
    }

    public PageMedia upload(){return this;}
    public Page insert(){ return reference;}
}

class PageA implements Page{    
    public PageA dosomething(){ return this;}
    public PageMedia openMedia(){ return new PageMedia(this);}
    public Page save(){ return this;}

}

问候, 维普


推荐阅读