-4

JavaSomeInterface.classとの違いを探しています。SomeClass.class誰かがこれを説明できますか?

編集:SomeClass実装を言うSomeInterface

4

1 に答える 1

0

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他の車両と同じように動作させたい場合は、インターフェースを実装する必要があります。

これはインターフェイスに関するすべてではありませんが、これがインターフェイスを理解するのに少し役立つことを願っています.

于 2013-02-06T11:18:14.797 に答える