JavaSomeInterface.class
との違いを探しています。SomeClass.class
誰かがこれを説明できますか?
編集:SomeClass
実装を言うSomeInterface
。
JavaSomeInterface.class
との違いを探しています。SomeClass.class
誰かがこれを説明できますか?
編集:SomeClass
実装を言うSomeInterface
。
Java のクラスは、データを保持し、そのデータに対する操作を提供するために使用されます。 インターフェイスは、多態性を実装するために使用されます。それらは、クラスが提供しなければならない実装操作を定義して、共通部分に対して同様の動作をするようにします。インターフェイスは一種の契約と考えることができます。
いくつかの車両があり、各車両の車輪数を知りたいとします。車、オートバイ、その他の車両で、車輪の数が正確にわからず、最初に数えなければなりません。したがって、インターフェイスを使用して、各車両に車輪の数を提供するように強制できます。
interface Vehicle {
// define the contract
int getNumberOfWheels();
}
class Car implements Vehicle {
// respect the contract by prividing an implmentation for the method getNumberOfWheels()
public int getNumberOfWheels() {
return 4;
}
}
class Motorcycle implements Vehicle {
public int getNumberOfWheels() {
return 2;
}
}
class GenericVehicle implements Vehicle {
public int getNumberOfWheels() {
return countWheels();
}
private int countWheels() {
int c=0;
// count...
return c;
}
}
// using the classes / diferent types of vehicles
Vehicle v1 = new Car();
Vehicle v2 = new Motorcycle();
Vehicle v3 = new GenericVehicle();
System.out.println("Vehicle 1 has " + v1.getNumberOfWheels() + " wheels.");
System.out.println("Vehicle 2 has " + v2.getNumberOfWheels() + " wheels.");
System.out.println("Vehicle 3 has " + v3.getNumberOfWheels() + " wheels.");
追加したい新しいタイプの車両ごとに、Vehicle
他の車両と同じように動作させたい場合は、インターフェースを実装する必要があります。
これはインターフェイスに関するすべてではありませんが、これがインターフェイスを理解するのに少し役立つことを願っています.