java - 返回在方法链接中使用的类
问题描述
我有以下代码:
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;
解决方案
如果我理解你的问题是正确的。你可以使用这样的东西:
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;}
}
问候, 维普
推荐阅读
- python - 使用不带日期的 csv.writer 从 savReader 写入字节到浮点转换
- javascript - 角度弹出在html脚本中不起作用
- html - CSS 过滤器在 Firefox 或 IE 中不起作用
- devops - 通过 ECS 部署 Slackbot
- rally - fetchWsapiRecords 错误:通信失败”
- javascript - unsafe:data:image/*;base64,:1 GET unsafe:data:image/*;base64, (Javascript/Angular)
- html - HTML CSS 增加背景图像的大小,使其与文本一起增长
- python - 如何在 python 中制作自定义日历?
- javascript - 在插件内容脚本和设置页面之间共享的 IndexedDB 实例
- xampp - 如何使用 XAMPP 对数据库应用 MySQL 检查约束