Я не совсем профессионал и считаю, что мой вопрос довольно сложно описать, поэтому, пожалуйста, спросите, если что-то неясно:
У меня есть абстрактный класс с именем BaseDevice.
Другие устройства, такие как Beacon и Transponder, наследуются от BaseDevice.
Например, Beacon, он имеет методы BaseClass PLUS со своими собственными свойствами и методами .
Допустим, разница между этими устройствами состоит в том, что у одного есть 2 светодиода, а у другого - ЖКД
В настоящее время невозможно сделать транспондер устройства так же, как и маяк (или я должен скопировать обе пасты в один новый класс, который не нужен).
Так, например,
Я хочу, чтобы устройство могло сказать ему: «У вас есть один светодиод», «У вас есть 2 ЖК-дисплея» или что-то еще. и все методы и свойства, которые идут с этим, должны быть доступны.
Мне все еще нужно увидеть, какое устройство в моем списке устройств "У него есть один (или несколько) светодиодов"
Заключение: я хочу превратить свое «Есть» в «Имеет А» (как рекомендует «Банда четырех»).
Я однажды читал о шаблоне проектирования фабрики , который выглядел сложным. Будет ли это хорошим решением в этом случае?
Может быть, я использовал некоторые термины, которые превосходят мои знания, этот проект - первый, в котором я использовал абстрактные классы и т. Д. Я действительно не такой уж и большой объектно-ориентированный программист. Шаблоны проектирования довольно сложны для меня, поэтому ответы, которые легко прочитать, приветствуются.