2013-09-11 3 views
-1

Я создаю консольное приложение, которое использует наследование для доступа к методам в интерфейсе, который я также создаю. Это будет интерфейс с методами. (Код еще не добавлен.) EDIT: Я создаю приложение, которое фиксирует информацию о бронировании транспорта для самолетов и поездов. CAircraftBookings, CTrainBookings - это классы бронирования, которые будут содержать и управлять заказами, сделанными для Aicraft/Trains.C# Реализация методов из интерфейса

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 метод обновления будет использоваться и т.д.

+3

Ваш 'interface' не действует C# синтаксис. –

+4

Это домашнее задание? – thumbmunkeys

+0

Вы не должны выводить из CAircraftBookings (похоже, это класс). Похоже, кому-то нужно заниматься программированием в школе. :) –

ответ

1

Предполагая VehiclesBooking это класс, который реализует IVehiclesBooking:

IVehiclesBooking vehiclesBooking = new VehiclesBooking(); 

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

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

... 
+0

Вы имеете в виду 'IVehiclesBooking vehiclesBooking = new CAircraftBookings()' или 'new CTrainBookings()' –

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 решат, как это делается.

1

Я думаю, что я делаю домашнее задание чьего :)

Как я могу посоветовать вам, вы должны прочитать об интерфейсах и как использовать их. Посмотрите здесь: Why do we use Interface? Is it only for Standardization?

Я думаю, что определение интерфейса является правильным, кроме оно не должно выводиться из класса. Вы должны получить из интерфейса.

пример: ПСЕВДО

public interface IVehichlesBookings 
{ 
    // members. 
} 

public class CAircraftBookings : IVehichlesBookings 
{ 
} 

public class CTrainBookings : IVehichlesBookings 
{ 
} 

Это означает, что CAircraftBookings поддерживает интерфейс IVehichlesBookings, поэтому он должен иметь осуществлять эти IVehichlesBookings членов. Затем вы можете обрабатывать экземпляр CTrainBookings или CAircraftBookings как IVehichlesBookings.

И вам нужно построить так:

IVehichlesBookings booking = new CTrainBookings(); 

char key = Console.ReadKey(); 

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

Ваш ход ..

Смежные вопросы