Saya ingin tahu apakah suatu kelas dapat mewarisi dari kelas dan antarmuka. Contoh kode di bawah ini tidak berfungsi, tetapi saya pikir itu menyampaikan apa yang ingin saya lakukan. Alasan saya ingin melakukan ini adalah karena di perusahaan saya, kami membuat perangkat USB, serial, Ethernet, dll. Saya mencoba mengembangkan komponen / antarmuka umum yang dapat saya gunakan untuk menulis program untuk semua perangkat kami yang akan membantu menjaga hal-hal umum (seperti menyambungkan, memutuskan sambungan, mendapatkan firmware) sama untuk semua aplikasi kami.
Untuk menambah pertanyaan ini: Jika GenericDevice berada dalam proyek yang berbeda, dapatkah saya menempatkan antarmuka IOurDevices dalam proyek itu kemudian membuat kelas USBDevice mengimplementasikan antarmuka jika saya menambahkan referensi ke proyek pertama? Karena ingin hanya merujuk satu proyek dan kemudian mengimplementasikan antarmuka yang berbeda tergantung pada perangkat apa.
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;
}
}