2016-05-30 185 views
1

我有一个接口MLService具有与机器学习算法的训练和交叉验证有关的基本方法,我必须添加两个接口分类和预测哪些将实现MLService并包含方法要么分类和获得一个功能,要么根据我的算法预测多个功能的可能性,实现分类或预测的类中的具体实现方法必须从MLService对象中调用。应如何设计该功能以实现指定的功能?类设计:类实现接口实现另一个接口

+0

此前的Java 8,接口不包含算法,因此无法“呼”的代码。 – Smutje

+1

即使在Java 8接口中也不应该包含算法。但是有一些罕见的情况可以从该规则中作出例外。例如。保持API的向后兼容性。由于JDK支持功能特性。 – Kai

+0

@Smutje:这里我关心的是MLService接口的引用能够调用一个定义的方法,比方说classify接口(它扩展了MLService)并且在类中实现(比方说实现分类接口的SVMServiceImpl)..我想以某种方式实现这一点。 – SakshamB

回答

0

考虑在评论你的榜样,您可以使用对象类型转换调用另一个(儿童)的方法接口

public class SVMServiceImpl implements Classify,AnotherInterface{ 


    public static void main(String[] args) 
    { 
     MLService mlserv = new SVMServiceImpl(); 
     /** 
     * Your Algo-based on this below's typecasting should happen 
     */ 
     ((Classify)mlserv).classifyMethod();//or ((AnotherInterface)mlserv).anotherMethod(); 

    } 
}