私はC++を学ぶ過程にあり、オブジェクト指向プログラミングを実践しようとしています。私が使用している参考文献の多くは、Javaチュートリアルの形式で提供されています。'interface'はJavaの「抽象」の限定版ですか?
私が気づいたことの1つは、Javaに「抽象クラス」と「インターフェース」という考えがあることです。私は、なぜこれらの2つが正確に存在するのかについて混乱しています。インターフェイスを使ってできることは、抽象クラスと同じように実行できたようです。
私の質問:インターフェイスはJavaの追加機能を提供しますか?それとも、抽象クラスが継承するクラスで独自のメソッド/データメンバーを実装できるようにするべきではないという指定方法ですか?
クラスに**複数の**インターフェイスを実装できます。したがって、インタフェースは** type **の多重継承を提供します。 –
上記のように、複数のインターフェイスを実装することができます。メソッドシグネチャ、定数フィールド、デフォルトメソッドなどを保持するために使用されます。デフォルトメソッドの優れた点は、 'default'キーワードで指定されたメソッドの中に必要に応じて実装を追加できることです。 – Logan