我正在尝试编写一个小分类器程序。 但是我的数据并没有完全决定,所以我试图尽可能地使代码尽可能通用。 我遇到了这个问题。
我基本上有3个班级
abstract class AbstractPoint{}
abstract class AbstractCluster{}
class Classifier{
addPoint(AbstractPoint pt){...}
}
到目前为止,我很好。 但是在分类器类中,如果点适合某种模式 我需要创建一个集群来添加点。 但它无法基于抽象类实例化对象。 有什么好的方法/模式吗?或其他方式可以做到这一点?
答案 0 :(得分:0)
你可以尝试这个:
abstract class AbstractPoint{ public abstract void doThings();}
abstract class AbstractCluster{
AbstractPoint[] points;
public abstract void setPoints(AbstractPoint[] points);
public AbstractPoint[] getPoints() {
return points;
}
}
class Classifier{
public void addPoint(AbstractPoint pt){
pt.doThings();
}
public void addPointsToCluster(AbstractCluster cl,AbstractPoint[] points) {
if(condition) //your condition of pattern matching
cl.setPoints(points);
}
}