Java での拡張と実装
Java で特定の親クラスのプロパティと動作を再利用するために、オブジェクト指向プログラミング言語の重要な部分である継承の概念を使用します。この背後にある考え方は、コードの再利用性です。implements
キーワードと extends
キーワードの両方を使用して、親クラスの属性を持つ Java で新しいクラスを作成します。
以下の表を使用すると、extends
および implements
キーワードをよりよく理解できます。
定義 | 実装 | クラス | インターフェース | メソッド | |
---|---|---|---|---|---|
extends |
サブクラス(子)がベース(親)クラスを拡張 すると、サブクラスは基本クラスで定義されたコードを継承できます。 |
クラスは別のクラスを継承できます。インターフェイスは、キーワード extends を使用して別のインターフェイスを継承できます。 |
クラスは 1つのクラスのみを拡張できます。 | インターフェイスによって、任意の数のインターフェイスを拡張できます。 | サブクラスクラスが親クラスを拡張している場合、基本クラスのすべてのメソッドをオーバーライドする場合としない場合があります。 |
implements |
implements キーワードは、インターフェースを実装するために使用されます。インターフェイスには抽象メソッドが含まれています。メソッド本体は、それを実装するクラスで定義されます。 |
implements キーワードを使用すると、クラスはインターフェースを実装できます。 |
1つのクラスで複数のインターフェースを実装できます。 | インターフェイスが他のインターフェイスを実装することはできません。 | インターフェイスを実装するクラスは、インターフェイス内のすべてのメソッドを実装する必要があります。 |
Java で extends
キーワードを使用してクラスを継承する
以下のコードでは、基本クラスである Parent
と、サブクラスとしての Child
があります。Child
クラスは Parent
クラスを拡張します。これは、Child
クラスが Parent
クラス内で定義されたフィールドとメソッドにアクセスできるようになったことを意味します。
Test
クラスでは、サブクラスクラス child
のオブジェクトを作成し、その上でメソッド displayNumber()
を呼び出します。親クラス内で定義されているメソッド displayString()
は、同じ child
オブジェクトで呼び出すことで実行できます。したがって、コードの再利用の目的を果たします。
public class Test {
public static void main(String args[]) {
Child child = new Child();
System.out.println("Calling Child class method : " + child.displayNumber());
System.out.println("Calling Parent class method from child : " + child.displayString());
}
}
class Parent {
String str = "Hello there!";
public String displayString() {
return str;
}
}
class Child extends Parent {
int number = 25;
public int displayNumber() {
return number;
}
}
出力:
Calling Child class method : 25
Calling Parent class method from child : Hello there!
Java で implements
キーワードを使用してインターフェースを継承する
以下のコードには、Cat
と Dog
の 2つのインターフェースがあり、それぞれに抽象メソッドが含まれています。クラス Animals
は両方のインターフェースを実装するため、インターフェースで定義されたメソッドを実装する必要があります。
したがって、Animals
クラスは両方のインターフェースを実装し、Java のインターフェースの全体的な目的であるそれらの動作を定義しました。
interface Cat {
public void meow();
}
interface Dog {
public void bark();
}
class Animals implements Dog, Cat {
@Override
public void meow() {
System.out.println("Cat meows");
}
@Override
public void bark() {
System.out.println("Dog barks");
}
}
public class Test1 {
public static void main(String args[]) {
Animals animals = new Animals();
animals.bark();
animals.meow();
}
}
出力:
Dog barks
Cat meows
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn