2016-05-30 48 views
1

私は機械学習アルゴリズムのトレーニングとクロスバリデーションに関連する基本的なメソッドを持つインターフェイスMLServiceを1つ持っています。さらに2つのインターフェイスを分類し、MLServiceを実装し、特定の機能を分類して取得する方法、または自分のアルゴリズムに応じて複数の機能の確率を予測する方法のいずれかを使用して、分類または予測を実装するクラスの特定の実装方法をMLServiceオブジェクトから呼び出す必要があります。 ?コメントにあなたの例を考えるとクラスデザイン:別のインターフェイスを実装しているインターフェイスを実装しているクラス

+0

のメソッドを呼び出すために、オブジェクトの型キャストを使用することができ、インタフェースは、アルゴリズムが含まれているので、コードを「コール」することはできませんしないでください。 – Smutje

+1

Java 8のインターフェースでさえ、アルゴリズムを含んではいけません。しかし、そのルールから例外を作ることは稀です。例えば。 APIの下位互換性を維持します。 JDKは機能的な機能をサポートするためのものです。 – Kai

+0

@Smutje:ここで私の懸念事項は、MLServiceインターフェースのリファレンスは、(MLServiceを拡張する)classifyインターフェースと定義されたメソッドを呼び出すことができることです(クラスを実装するSVMServiceImplと言う)。これを何らかの方法で達成する。 – SakshamB

答えて

0

は、あなたが以前のJava 8に別の(子供)インターフェース

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(); 

    } 
} 
関連する問題