Я хочу знать, может ли класс наследовать от класса и интерфейса. Приведенный ниже пример кода не работает, но я думаю, что он передает то, что я хочу сделать. Причина, по которой я хочу это сделать, заключается в том, что в моей компании мы производим устройства USB, последовательного порта, Ethernet и т. Д. Я пытаюсь разработать общий компонент / интерфейс, который я могу использовать для написания программ для всех наших устройств, которые помогут сохранить общие вещи (например, подключение, отключение, получение прошивки) одинаковыми для всех наших приложений.
Чтобы добавить к этому вопросу: если GenericDevice находится в другом проекте, могу ли я поместить интерфейс IOurDevices в этот проект, а затем заставить класс USBDevice реализовать интерфейс, если я добавлю ссылку на первый проект? Потому что хотелось бы просто сослаться на один проект, а затем реализовать разные интерфейсы в зависимости от устройства.
class GenericDevice
{
private string _connectionState;
public connectionState
{
get{return _connectionState; }
set{ _connectionState = value;}
}
}
interface IOurDevices
{
void connectToDevice();
void DisconnectDevice();
void GetFirmwareVersion();
}
class USBDevice : IOurDevices : GenericDevice
{
//here I would define the methods in the interface
//like this...
void connectToDevice()
{
connectionState = "connected";
}
}
//so that in my main program I can do this...
class myProgram
{
main()
{
USBDevice myUSB = new USBDevice();
myUSB.ConnectToDevice;
}
}