JAVAのインターフェイスとC++のhファイル

3839 ワード

今日はjavaでシーケンステーブルを実装します.以下はインタフェースコードです.

public interface list {
    /**
     *       
     * 1.                           。
     * 2.      :    =             /      
     * 3.       
     * 4。          ,                  
     */
 
//              
    public void clear();
 
//          
    public boolean isEmpty();
 
//                    
    public int length();
 
//       i        :[0,length()-1]
    public Object get(int i) throws Exception;
 
//        ,i            :[0,length()-1],  length()-1 ,       x
    public void insert(int i,Object x) throws Exception;
 
//         i    
    public void remove(int i) throws Exception;
 
//                  index
    public int indexOf(Object x) throws Exception;
 
//                  
    public void display();
 
 


インタフェースコードを見た後、一つの考えが私に当たった.一見、interfaceファイルはc++のhヘッダファイルに似ているようです.まず、c++についてお話しします.のhはヘッダファイルであり、参照する必要がある関数ライブラリと、自分で定義した各種関数と、各種マクロ定義を宣言する.cppはプログラム実行ファイルであり、main関数が存在するファイルであり、ここでヘッダファイル内で宣言される関数の具体的な内容を定義する.ヘッダーファイルは読みやすくて修正しやすいだけです.完全にファイルの中の内容をすべてcppの中に書くことができて、大規模なプログラムの中で、コードが多すぎて、筋道がはっきりしているには各種のヘッダファイルが異なる機能の関数を分けて読みやすくして維持する必要があります.ここでヘッダファイルはインタフェースの役割を果たすわけではありません.JavaのinterfaceはC++に相当するすべての非静的メンバー関数が純虚関数の抽象クラスである.C++にとって,インタフェース継承とは一般的に継承される特例である.Java設計ではマルチ継承は許されないため,インプリメンテーションに混入することは不可能であるため,去勢バージョンのクラスに依存するしかない.