\r\n\r\n
Javaは、米国Sun Microsystems社が開発したプログラミング言語です。 Javaを使用すると、さまざまなアプリケーションを開発することができます。オブジェクト指向、構造化など様々なパラダイムをサポートする言語です。Javaの最大の利点は、オブジェクト指向プログラミング(OOP)をサポートしていることです。OOPには4つの柱があります。それらは、継承、ポリモーフィズム、抽象化、カプセル化である。継承とインターフェースは、OOPに関連しています。継承とインターフェースの大きな違いは、継承が既存のクラスから新しいクラスを派生させるのに対し、インターフェースは抽象クラスと多重継承を実装している点です。
1. 概要と主な相違点 2. Javaにおける継承とは 3. Javaにおけるインターフェースとは 4. Javaにおける継承とインターフェースの類似点 5. 並列比較 - 表形式でのJavaにおける継承とインターフェース 6. まとめ
継承によって、コードの再利用が可能になる。継承は、既存のクラスのプロパティやメソッドを再利用するのに役立つ。古いクラスを使って新しいクラスを派生させる仕組みを継承といいます。古いクラスは、親クラスまたはスーパークラスと呼ばれます。派生したクラスはサブクラスまたはサブクラスと呼ばれます。
Java の継承の文法は以下の通りです。
クラスサブクラス extend superclasses{.
変数の宣言。
メソッドステートメント。
}
継承の概念は次のような例で説明することができる。
パブリックAグレード
Public void amount (){(パブリックボイドアマウント
System.out.println ("金額").
}
}
既存のクラスを変更せずに新しいメソッドを追加したい場合は、次のようにします。
パブリックB
Public void sub (){(パブリックボイドサブ)。
プリントアウトシステム(以下、「子会社」という。)
}
}
プログラマは、継承を利用してクラスAのsum()を使用することができます。
Public Class B extends Class A {.
Public void sub (){(パブリックボイドサブ)。
プリントアウトシステム(以下、「子会社」という。)
}
}
main関数内でBのオブジェクトを作り、クラスBに属するsub()とクラスAに属するsum()を呼び出すことができます。
public static void main(String[]args){...
B obj = new B ().
対象子会社()。
目標金額()。
}
相続には様々な種類があります。単一継承、多重継承、多階層継承、階層継承である。単一継承では、ベースクラスと派生クラスが存在します。多段階継承では、ベースクラス、中間クラス、派生クラスの3つのクラスが存在します。中間クラスは基底クラスを継承し、派生クラスは中間クラスを継承する。階層的継承では、ベースクラスと複数の派生クラスが存在する。混合相続と呼ばれる特殊なタイプがあります。2つ以上の相続財産の組み合わせである。
図01: 後継者
多重継承では、多くのベースクラスと1つの派生クラスが存在します。クラスAとBがベースクラスであるとします。Cクラスは派生クラスです。クラスAとクラスBの両方が同じメソッドを持ち、プログラマが派生クラスからそのメソッドを呼び出す場合、曖昧さの問題につながることがあります。2つのクラスを継承すると、コンパイル時にエラーが発生する場合があります。このため、Javaは多重継承をサポートしていない。この問題を解決するために、インターフェイスを使用することができます。
抽象化とは、実装の詳細を隠し、ユーザーに機能のみを見せることです。抽象化は、抽象クラスやインタフェースの使用によって実現できます。抽象的なメソッドは、実装を持たないメソッドです。少なくとも1つの抽象メソッドを持つクラスは、抽象クラスです。抽象クラスの例を以下に示します。
抽象クラスA{
抽象的な空白と()。
}
AとBの抽象メソッドを実装するために、新しいクラスCを作成するとします。このとき、クラスCはAとBの両方を継承しなければなりませんが、Javaは多重継承をサポートしていません。そのため、インターフェイスを使用する必要があります。インターフェースはメソッドの宣言に使用できますが、メソッドを定義することはできません。インターフェイスを使用してオブジェクトを作成することはできません。クラスCは、インタフェースA、Bのすべてのメソッドを実装する必要があります。
インターフェースA{
空と()。
}
インターフェースB
void sub()。
}
クラスCは、A,B{を実装しています。
Public void amount (){(パブリックボイドアマウント
System.out.println ("sum").
}
Public void sub (){(パブリックボイドサブ)。
System.out.println ("減算").
}
}
これで、メインプログラムの中でC言語のオブジェクトを作成し、これら2つのメソッドを呼び出すことができるようになりました。
public static void main(String[]args){...
C obj = new C ().
目標金額()。
対象子会社()。
}
そのため、インターフェースは多重継承の実装に使用することができます。
インターフェイスのもう一つの用途は、セキュリティを提供することである。
インターフェースA{
金額()が無効です。
}
実装クラス B{.
の量 public void (){.
System.out.println ("sum").
}
パブリックエアークルー(){
System.out.println ("乗算").
}
}
Bのオブジェクトを作成する際にsum()とmultiply()メソッドを同時に呼び出すことができる。プログラマが multiply() 関数の使用を制限したい場合は、以下のようにすることができます。
public static void main(String[]args){...
A obj = new B ().
目標金額()。
}
A obj=new B(); オブジェクトが作成されます。型はA、メモリはBに割り当てられ、Sum()は呼び出せますが、Multiply()は実行できません。この制限は、インターフェイスを使用して行われます。
Javaにおける継承とインターフェイス | |
継承は、既存のクラスから新しいクラスを派生させるために使用されるOOPの概念である。 | OOPにおける継承と多重抽象化機構の実装。 |
使用方法 | |
継承はコードの再利用を可能にする。 | インターフェースは、抽象化と多重継承を実現します。 |
Javaは、オブジェクト指向プログラミングをサポートするマルチパラダイムプログラミング言語です。オブジェクト指向プログラミングには、継承とインターフェースが関係しています。継承とインターフェースの違いは、継承は既存のクラスから新しいクラスを派生させること、インターフェースは抽象クラスと多重継承を実装することである。
本記事のPDF版をダウンロードし、オフラインで使用する場合は、引用の指示に従ってください。PDF版のダウンロードはこちら 継承とJavaインタフェースの違い
1.ポイント、チュートリアル"Javaの継承"、チュートリアル・ポイント、2017年10月31日。こちらで入手可能です 2.ポイントチュートリアル"Javaインターフェイス" チュートリアル・ポイント、2017年10月31日。2.ポイント、チュートリアルを提供します。"Javaインターフェイス "です。