Bir sınıfın bir sınıftan ve bir arabirimden miras alıp alamayacağını bilmek istiyorum. Aşağıdaki örnek kod çalışmıyor, ancak yapmak istediğimi ifade ettiğini düşünüyorum. Bunu yapmak istememin sebebi firmamda USB, seri, ethernet vb cihazlar yapıyor olmamızdır. Tüm uygulamalarımız için ortak şeyleri (bağlanma, bağlantıyı kesme, aygıt yazılımı alma gibi) aynı tutmaya yardımcı olacak tüm cihazlarımız için programlar yazmak için kullanabileceğim genel bir bileşen / arayüz geliştirmeye çalışıyorum.
Bu soruya eklemek için: Eğer GenericDevice farklı bir projedeyse, IOurDevices arayüzünü o projeye koyabilir miyim, ardından ilk projeye bir referans eklersem USBDevice sınıfının arayüzü uygulamasını sağlayabilir miyim? Çünkü sadece bir projeye referans vermek ve ardından cihazın ne olduğuna bağlı olarak farklı arayüzler uygulamak istiyor.
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;
}
}