namespace ProjectBus.Entities; /// /// Класс-сущность "Автобус" /// public class EntityBus : EntitySimpleBus { /// /// Дополнительный цвет (для опциональных элементов) /// /// public Color AdditionalColor { get; private set; } public void setAdditionalColor(Color color) { AdditionalColor = color; } /// /// Признак (опция) наличия дополнительного отсека /// public bool AdditionalCompartment { get; private set; } /// /// Признак (опция) наличия гармошки /// public bool Accordion { get; private set; } /// /// Инициализация полей объекта-класса спортивного автомобиля /// /// Скорость /// Вес автобуса /// Основной цвет /// Дополнительный цвет /// Признак наличия дополнительного отсека /// Признак наличия гармошки public EntityBus(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalCompartment, bool accordion) : base(speed, weight, bodyColor) { AdditionalColor = additionalColor; AdditionalCompartment = additionalCompartment; Accordion = accordion; } /// /// Получение строк со значениями свойств объекта класса-сущности /// /// public override string[] GetStringRepresentation() { return new[] { nameof(EntityBus), Speed.ToString(), Weight.ToString(), BodyColor.Name, AdditionalColor.Name, AdditionalCompartment.ToString(), Accordion.ToString() }; } /// /// Создание объекта из массива строк /// /// /// public static EntitySimpleBus? CreateEntityBus(string[] strs) { if (strs.Length != 7 || strs[0] != nameof(EntityBus)) { return null; } return new EntityBus(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]), Color.FromName(strs[4]), Convert.ToBoolean(strs[5]), Convert.ToBoolean(strs[5])); } }