Я новичок в C# или ООП в целом, и был интересно, если рядом можно с наследованием:Скрыть производный класс
я хочу, чтобы настроить канал связи и хочу, чтобы иметь возможность использовать UDP или последовательную связь. Так я определить абстрактный базовый класс «Ссылка» с методами .Open, .close, Пошлите, .receive Из этого базового класса я получить «LinkUdp» 2 классов и «LinkSerial» и переопределить 4 метода
сейчас возможно ли напрямую писать код с объектом в класс «Ссылка»? Я имею в виду:
Ссылка myLink = новая ссылка ("10.0.0.1"); // теперь компилятор знает, что использовать LinkUdp класс
Ссылка myLink = новая ссылка («COM1»); // компилятор знает использовать LinkSerial класс
или я должен написать мой код, посвященный как:
LinkUdp MyLink = новый LinkUdp ("10.0.0.1");
Надеется, что это достаточно ясно ... Благодаря
редактировать: я хотел бы использовать класс «Link», таким образом я могу передать объект на подкласс без необходимости писать 2 различные реализации : поэтому после этого у меня есть класс
CommunicationHandler myComm = new CommunicationHandler (myLink);
, а затем этот обработчик не должен беспокоиться обо мне, используя UDP или серийный ...
Я думаю, вы должны реализовать Factory Pattern использовать эту ссылку для понимания http://www.dofactory.com/net/factory-method-design-pattern – rashfmnb
Если 'Link 'является абстрактным классом, то вы никогда не сможете напрямую создать его экземпляр. 'new Link (...)' недействителен. –