我至少有两个不同的类,如下所示:
//NOTE : these two classes have getter and setter also
class Artist {
String artistName;
String artistWebsite;
String artistDbpedia;
String artistImage;
List<String> astistAlbumsName;
List<String> astistAlbumsUrl;
}
class Venu {
String VenuName;
String VenuWebsite;
String VenuDbpdia;
String VenuImage;
String VenuDescription;
List<String> venuFans;
}
我想要一个生产者类来获取一个 xml 文件作为输入并检测 xml 的类型(venu/artist),然后开始根据输入创建一个产品对象。
问题 :
我想创建一个接口来聚合上述两个类之间的相似性,所以我的接口是:
interface Model {
public String getImage();
public String getName();
public String getWebsite();
public String getdbpedia();
}
然后我可以在我的构建器类和以上两个类中实现这个接口,但是那些不同的方法呢?
比如getVenuFans / getArtistAlbumName / etc....?
我怎样才能从我的制片人那里打电话给他们?
这是我的建设者:
Class Builder implements Model {
public String getImage(){}
public String getName(){}
public String getWebsite(){}
public String getdbpedia(){}
}
这可以是我的制片人:
Class Producer {
public Producer()
{
Builder b = null;
//assume Venu and Artist implements Model
b = (Builder) new Venu();
//I don't have access to getVenuFans()!
b = (Builder) new Artist();
//I don't have access to getArtistAlbumsName() / etc...
}
}