Eu quero saber se uma classe pode herdar de uma classe e uma interface. O código de exemplo abaixo não funciona, mas acho que ele transmite o que quero fazer. A razão pela qual eu quero fazer isso é porque, na minha empresa, fabricamos dispositivos USB, serial, Ethernet, etc. Estou tentando desenvolver um componente / interface genérico que possa ser usado para escrever programas para todos os nossos dispositivos que ajudarão a manter as coisas comuns (como conectar, desconectar, obter firmware) iguais para todos os nossos aplicativos.
Para adicionar a esta pergunta: Se GenericDevice estiver em um projeto diferente, posso colocar a interface IOurDevices nesse projeto e fazer com que a classe USBDevice implemente a interface se adicionar uma referência ao primeiro projeto? Porque gostaria de referenciar apenas um projeto e, em seguida, implementar interfaces diferentes, dependendo do dispositivo.
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;
}
}