-1

私も作成しているインターフェイスのメソッドにアクセスするために継承を利用するコンソールアプリを作成しています。これがメソッドとのインターフェースになります。(コードはまだ追加されていません。) 編集: 航空機と列車の輸送予約情報を取得するアプリケーションを作成しています。CAircraftBookings、CTrainBookings は、Aicraft/Trains の予約を含み、管理する予約クラスです。

namespace Vehicle_Bookings
{
public interface IVehichlesBookings : CAircraftBookings, CTrainBookings
{
    public int Add
    {
    }

    public int Update
    {
    }

    public int Delete
    {
    }

    public int Retrieve
    {
    }
}

}

今、私のコンソール アプリで、ユーザーは、追加、更新、削除、取得の適切な選択肢を選択します。その後の選択肢は次のようになります。

switch (choice)
        {
            case "1": 



                break;

            case "2":



                break;

            case "3":



                break;

            case "4":



                break;
        }
        while (choice != "5")

そのインターフェイスから特定のメソッドを実装するにはどうすればよいですか。ユーザーが選択肢 1 の 1 を押すと、メソッド Add が使用されます。2 を押すと、更新方法が使用されます。

4

3 に答える 3

2

「IVehicleBookings クラスから航空機と列車の予約クラスを派生させて実装します」

これがあなたが望むものだと思います:

public interface IVehichlesBookings
{
    int Add();
    int Update();
    int Delete();
    int Retrieve();
}

public class CAircraftBookings : IVehichlesBookings
{
    public int Add()
    {
        throw new NotImplementedException();
    }

    public int Update()
    {
        throw new NotImplementedException();
    }

    public int Delete()
    {
        throw new NotImplementedException();
    }

    public int Retrieve()
    {
        throw new NotImplementedException();
    }
}

public class CTrainBookings : IVehichlesBookings
{
    public int Add()
    {
        throw new NotImplementedException();
    }

    public int Update()
    {
        throw new NotImplementedException();
    }

    public int Delete()
    {
        throw new NotImplementedException();
    }

    public int Retrieve()
    {
        throw new NotImplementedException();
    }
}

IVehicleBookings「車両予約」で実行できるあらゆる種類のことを定義し、CAircraftBookingsそれらCTrainBookingsをどのように実行するかを決定するインターフェイス。

于 2013-09-11T08:36:52.637 に答える
1

私は誰かの宿題をやっていると思います:)

アドバイスできるように、インターフェイスとその使用方法について読む必要があります。こちらをご覧ください:なぜインターフェイスを使用するのですか? 標準化のためだけですか?

クラスから派生してはならないことを除いて、インターフェイスの定義は正しいと思います。インターフェイスから派生する必要があります。

例: 疑似

public interface IVehichlesBookings
{
    // members.
}

public class CAircraftBookings : IVehichlesBookings
{
}

public class CTrainBookings : IVehichlesBookings
{
}

これは、 aCAircraftBookingsが interface をサポートしていることを意味するため、これらのメンバーIVehichlesBookingsを実装する必要があります。次に、 orのインスタンスをとしてIVehichlesBookings処理できます。CTrainBookingsCAircraftBookingsIVehichlesBookings

そして、次のように構築する必要があります。

IVehichlesBookings booking = new CTrainBookings();

char key = Console.ReadKey();

switch(key)
{
    case '1':
        booking.Add(...);
        break;
}

あなたの番..

于 2013-09-11T08:37:43.140 に答える
1

VehiclesBooking が IVehiclesBooking を実装するクラスであると仮定します。

IVehiclesBooking vehiclesBooking = new VehiclesBooking();

switch (choice)
        {
            case "1": 
            vehiclesBooking.Add();
            break;

            case "2":
            vehiclesBooking.Update();
            break;

...
于 2013-09-11T08:34:56.077 に答える