i genel olarak C# veya OOP yeniyim ve bir sonraki miras ile mümkün olup olmadığını merak ediyorum:gizle türetilmiş sınıf
i kurulum için bir iletişim bağlantısını istiyor ve udp veya seri haberleşme kullanmak isterler. Yani ben, .Open yöntemlerle soyut temel sınıf Linki 'tanımlamak .close, `s
Şimdi 4 yöntemleri, bu temel sınıfından .receive i 2 sınıfların LinkUdp' türetmek ve 'LinkSerial' ve geçersiz 'Link' sınıfına doğrudan bir nesne ile kod yazmak mümkün mü? Demek istediğim:
Link myLink = new Link ("10.0.0.1"); // derleyici şimdi kullanıyor LinkUdp sınıfını kullanıyor
Link myLink = new Link ("COM1"); // derleyici LinkSerial sınıfı
kullanmak bilir ya benim kod gibi adanmış yazmak zorunda yapın:
LinkUdp Bağlantım = new LinkUdp ("10.0.0.1"); Bu yeterince açık
Umut ... Teşekkür
düzenleme: i 2 farklı uygulamaları yazmak zorunda kalmadan bu yüzden bir alt sınıfa nesneyi geçirebilir 'Bağlantı' sınıfını kullanmak istiyorum : nedenle bu sonra bir sınıf
CommunicationHandler myComm = yeni CommunicationHandler (Bağlantım) vardır;
ve sonra bu işleyici bana udp veya seri kullanmak konusunda endişe zorunda değildir
...
Sana Fabrika Desen http://www.dofactory.com anlaşılması için bu linki kullanınız uygulamak zorunda düşünüyorum/net/factory-method-design-pattern – rashfmnb
Eğer 'Link' soyut bir sınıfsa, o zaman doğrudan onun bir örneğini oluşturamazsınız. 'yeni Link (...)' geçersiz. –